GHSA-4qhx-g9wp-g9m6 json
Failure to sanitize quotes which can lead to sql injection in squel
published 7y ago modified 5y ago
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
All versions of `squel` are vulnerable to sql injection.
The `squel` package does not properly escape user provided input when provided using the `setFields` method. This could lead to sql injection if the query was then executed.
Proof of concept demonstrating the injection of a single quote into a generated sql statement from user provided input. ``` > console.log(squel.insert().into('buh').setFields({foo: "bar'baz"}).toString()); INSERT INTO buh (foo) VALUES ('bar'baz') ```
## Recommendation
There is no fix at this time and the issue has been reported publicly. Consider using another query builder that provides strong guarantees for input sanitization to prevent sql injection attacks.
Is GHSA-4qhx-g9wp-g9m6 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerAffected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | squel | <=5.13.0 |
no fix listed |
Classification
References
Sources
- GitHub Advisory GHSA-4qhx-g9wp-g9m6
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.