Fix sql injection vulnerability 25/90425/1
authorDominik Orliński <d.orlinski@samsung.com>
Mon, 17 Jun 2019 09:53:25 +0000 (11:53 +0200)
committerDominik Orliński <d.orlinski@samsung.com>
Tue, 25 Jun 2019 09:31:42 +0000 (11:31 +0200)
Use a variable binding instead of concatenation.

Issue-ID: OJSI-174
Signed-off-by: Dominik Orliński <d.orlinski@samsung.com>
Change-Id: I9dcec677ee9edd0d274a486af37eb950d8e828cf

ecomp-portal-BE-common/src/main/java/org/onap/portalapp/portal/service/UserRolesCommonServiceImpl.java

index 5d9761c..2981721 100644 (file)
@@ -276,8 +276,12 @@ public class UserRolesCommonServiceImpl  {
                                EPUser client = userList.get(0);
                                roleActive = ("DELETE".equals(reqType)) ? "" : " and role.active = 'Y'";
                                @SuppressWarnings("unchecked")
-                               List<EPUserApp> userRoles = localSession.createQuery("from " + EPUserApp.class.getName()
-                                               + " where app.id=" + appId + roleActive + " and userId=" + client.getId()).list();
+                               List<EPUserApp> userRoles = localSession.createQuery("from :name where app.id=:appId :roleActive and userId=:userId")
+                                               .setParameter("name",EPUserApp.class.getName())
+                                               .setParameter("appId",appId)
+                                               .setParameter("roleActive",roleActive)
+                                               .setParameter("userId",client.getId())
+                                               .list();
                                
                                if ("DELETE".equals(reqType)) {
                                        for (EPUserApp userAppRoleList : userRoles) {