CVE-2019-18413
LOWclass-validator < 0.14.0 - Input Validation Bypass and Cross-Site Scripting via Conflicting Attribute Names
Title source: llmDescription
In TypeStack class-validator 0.10.2, 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. 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.
References (4)
Core 4
Core References
Third Party Advisory
https://github.com/typestack/class-validator#passing-options
Issue Tracking, Release Notes, Third Party Advisory
https://github.com/typestack/class-validator/issues/1422#issuecomment-1344635415
Exploit, Issue Tracking, Third Party Advisory
https://github.com/typestack/class-validator/issues/438
Exploit, Issue Tracking, Third Party Advisory
https://github.com/typestack/class-validator/issues/438#issuecomment-964728471
Scores
CVSS v3
3.7
EPSS
0.0199
EPSS Percentile
78.4%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
Details
CWE
CWE-79
CWE-89
Status
published
Products (2)
npm/class-validator
0 - 0.14.0npm
typestack_class-validator_project/typestack_class-validator
0.10.2
Published
Oct 24, 2019
Tracked Since
Feb 18, 2026