GitHub Advisoryadvisory · npm
GHSA-fj58-h2fr-3pp2 SQL Injection and Cross-site Scripting in class-validator
CRITICAL
Official page ↗
- Aliases
- CVE-2019-18413
- Ecosystem
- npm
- Packages
- class-validator
- Severity
- Critical
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-79, CWE-89
- Reviewed
- 2021-10-08
Affected packages
• npm class-validator: < 0.14.0 → fixed in 0.14.0
Description
In TypeStack class-validator, `validate()` input validation can be bypassed because certain internal attributes can be overwritten via a conflicting name. Even though there is an optional `forbidUnknownValues` parameter that can be used to reduce the risk of this bypass, this option is not documented and thus most developers configure input validation in the vulnerable default manner. With this vulnerability, attackers can launch SQL Injection or XSS attacks by injecting arbitrary malicious input.
The default settings for `forbidUnknownValues` has been changed to `true` in 0.14.0.
NOTE: a software maintainer agrees with the "is not documented" finding but suggests that much of the responsibility for the risk lies in a different product.
Related
Alias · CVE (1)
- CVE-2019-18413 In TypeStack class-validator 0.10.2, validate() input validation can be bypassed because certain internal attributes can be overwritten via… vulnerability
References
- https://nvd.nist.gov/vuln/detail/CVE-2019-18413 advisory
- https://github.com/typestack/class-validator/issues/1422#issuecomment-1344635415 web
- https://github.com/typestack/class-validator/issues/438 web
- https://github.com/typestack/class-validator/issues/438#issuecomment-964728471 web
- https://github.com/typestack/class-validator/pull/1798 web
- https://github.com/typestack/class-validator package
- https://github.com/typestack/class-validator#passing-options web