{"api_version":"1","generated_at":"2026-07-23T11:24:12+00:00","cve":"CVE-2019-18413","urls":{"html":"https://cve.report/CVE-2019-18413","api":"https://cve.report/api/cve/CVE-2019-18413.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2019-18413","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2019-18413"},"summary":{"title":"CVE-2019-18413","description":"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.","state":"PUBLIC","assigner":"cve@mitre.org","published_at":"2019-10-24 18:15:00","updated_at":"2023-02-28 15:10:00"},"problem_types":["CWE-79","CWE-89"],"metrics":[],"references":[{"url":"https://github.com/typestack/class-validator#passing-options","name":"https://github.com/typestack/class-validator#passing-options","refsource":"MISC","tags":[],"title":"GitHub - typestack/class-validator: Validation made easy using TypeScript decorators.","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/typestack/class-validator/issues/438#issuecomment-964728471","name":"https://github.com/typestack/class-validator/issues/438#issuecomment-964728471","refsource":"MISC","tags":[],"title":"class-validator arbitrary bypass vulnerability · Issue #438 · typestack/class-validator · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/typestack/class-validator/issues/438","name":"https://github.com/typestack/class-validator/issues/438","refsource":"MISC","tags":["Exploit","Issue Tracking","Third Party Advisory"],"title":"class-validator arbitrary bypass vulnerability · Issue #438 · typestack/class-validator · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/typestack/class-validator/issues/1422#issuecomment-1344635415","name":"https://github.com/typestack/class-validator/issues/1422#issuecomment-1344635415","refsource":"MISC","tags":[],"title":"security: SNYK-JS-CLASSVALIDATOR-1730566 · Issue #1422 · typestack/class-validator · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"404"},{"url":"https://www.cve.org/CVERecord?id=CVE-2019-18413","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-18413","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2019","cve_id":"18413","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"typestack_class-validator_project","cpe5":"typestack_class-validator","cpe6":"0.10.2","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2019","cve_id":"18413","vulnerable":"1","versionEndIncluding":"1","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"typestack_class-validator_project","cpe5":"typestack_class-validator","cpe6":"0.10.2","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[{"cve":"CVE-2019-18413","qid":"980158","title":"Nodejs (npm) Security Update for class-validator (GHSA-fj58-h2fr-3pp2)"}]},"source_records":{"cve_program":{"CVE_data_meta":{"ASSIGNER":"cve@mitre.org","ID":"CVE-2019-18413","STATE":"PUBLIC"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"n/a","version":{"version_data":[{"version_value":"n/a"}]}}]},"vendor_name":"n/a"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"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."}]},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"n/a"}]}]},"references":{"reference_data":[{"url":"https://github.com/typestack/class-validator/issues/438","refsource":"MISC","name":"https://github.com/typestack/class-validator/issues/438"},{"url":"https://github.com/typestack/class-validator#passing-options","refsource":"MISC","name":"https://github.com/typestack/class-validator#passing-options"},{"url":"https://github.com/typestack/class-validator/issues/438#issuecomment-964728471","refsource":"MISC","name":"https://github.com/typestack/class-validator/issues/438#issuecomment-964728471"},{"refsource":"MISC","name":"https://github.com/typestack/class-validator/issues/1422#issuecomment-1344635415","url":"https://github.com/typestack/class-validator/issues/1422#issuecomment-1344635415"}]},"impact":{"cvss":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","confidentialityImpact":"NONE","integrityImpact":"LOW","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AC:H/AV:N/A:N/C:N/I:L/PR:N/S:U/UI:N","version":"3.1"}}},"nvd":{"publishedDate":"2019-10-24 18:15:00","lastModifiedDate":"2023-02-28 15:10:00","problem_types":["CWE-79","CWE-89"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH","baseScore":9.8,"baseSeverity":"CRITICAL"},"exploitabilityScore":3.9,"impactScore":5.9},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:N/AC:L/Au:N/C:P/I:P/A:P","accessVector":"NETWORK","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"PARTIAL","integrityImpact":"PARTIAL","availabilityImpact":"PARTIAL","baseScore":7.5},"severity":"HIGH","exploitabilityScore":10,"impactScore":6.4,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:typestack_class-validator_project:typestack_class-validator:0.10.2:*:*:*:*:*:*:*","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2019","CveId":"18413","Ordinal":"158787","Title":"CVE-2019-18413","CVE":"CVE-2019-18413","Year":"2019"},"notes":[{"CveYear":"2019","CveId":"18413","Ordinal":"1","NoteData":"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.","Type":"Description","Title":null},{"CveYear":"2019","CveId":"18413","Ordinal":"2","NoteData":"2019-10-24","Type":"Other","Title":"Published"},{"CveYear":"2019","CveId":"18413","Ordinal":"3","NoteData":"2021-11-10","Type":"Other","Title":"Modified"}]}}}