NoSQL injection in express-cartGHSA-f5cv-xrv9-r8w7
GHSA-f5cv-xrv9-r8w7 is a security vulnerability in express-cart. A fix is available for express-cart — see the affected versions and patch details below.
Real-World Exposure
How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.
express-cartnpmDescription
Versions of express-cart before 1.1.8 are vulnerable to NoSQL injection.
The vulnerability is caused by the lack of user input sanitization in the login handlers. In both cases, the customer login and the admin login, parameters from the JSON body are sent directly into the MongoDB query which allows to insert operators.
These operators can be used to extract the value of the field blindly in the same manner of a blind SQL injection. In this case, the $regex operator is used to guess each character of the token from the start.
Recommendation
Update to version 1.1.8 or later.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | express-cart | all versions | 1.1.8npm install express-cart@1.1.8 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for express-cart, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update express-cart to 1.1.8 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-f5cv-xrv9-r8w7 is resolved across your whole dependency graph.
Workarounds
Until you can upgrade, make sure every query built from user input uses parameterised statements or a prepared-statement API rather than string concatenation, and reduce the database account's privileges so an injected query cannot read or alter data beyond what the feature needs.
Frequently Asked Questions
Is GHSA-f5cv-xrv9-r8w7 in your dependencies?
Find it across npm, including transitive dependencies.