Snyk has a proof-of-concept or detailed explanation of how to exploit this vulnerability.
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applicationsThere is no fixed version for org.webjars.npm:pg-promise
.
org.webjars.npm:pg-promise is a PostgreSQL interface for Node.js
Affected versions of this package are vulnerable to SQL Injection when using the simple query mode. Since pgFormatting
is enabled by default, pg-promise escapes parameter values before inserting them into a query string.
When a placeholder is directly preceded by a minus -
and not separated by any whitespace, pg-promise does not handle the particular case when a negative number is inserted for the placeholder. This leads to two consecutive minus signs in the query, turning them into the start of a line comment.
Note:
To exploit this behavior and cause SQL Injection, the following conditions must be met by a parameterized query:
a placeholder for a numeric value must be immediately preceded by a minus (as described above).
there must be a second placeholder for a string value after the first placeholder; both must be on the same line.
both parameter values must be user-controlled