Custodela / Riches

0 stars 3 forks source link

CX SQL_Injection @ riches/WEB-INF/src/java/com/checkmarx/samples/riches/restful/TransactionResources.java [master] #336

Open kmcdon83 opened 4 years ago

kmcdon83 commented 4 years ago

SQL_Injection issue exists @ riches/WEB-INF/src/java/com/checkmarx/samples/riches/restful/TransactionResources.java in branch master

The application's IsProfileExist method executes an SQL query with find, at line 241 of riches\WEB-INF\src\java\com\checkmarx\samples\riches\model\ProfileService.java. The application constructs this SQL query by embedding an untrusted string into the query without proper sanitization. The concatenated string is submitted to the database, where it is parsed and executed accordingly. The attacker would be able to inject arbitrary data into the SQL query, by simply altering the user input username, which is read by the GetTransactions method at line 101 of riches\WEB-INF\src\java\com\checkmarx\samples\riches\restful\TransactionResources.java. This input then flows through the code to the database server, without sanitization. This may enable an SQL Injection attack.

Severity: High

CWE:89

Vulnerability details and guidance

Internal Guidance

Checkmarx

Lines: 102 104 105 106 107

Lines Marked Not Exploitable: 101


Code (Line #102):

                           @PathParam("acctno") @DefaultValue("0422328325") String acctno,

Code (Line #104):

                           @MatrixParam("payee") String payee,

Code (Line #105):

                           @MatrixParam("amount") String amount,

Code (Line #106):

                           @QueryParam("memo") String memo,

Code (Line #107):

                           @QueryParam("id") String id){

kmcdon83 commented 4 years ago

Issue still exists.

kmcdon83 commented 4 years ago

Issue still exists.