CVE-2021-21267 json
Regular Expression Denial-of-Service in npm schema-inspector
published 2021-03-19 5 y ago modified 2026-07-08 4 mo ago also GHSA-f38p-c2gq-4pmr , EUVD-2021-0649
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.1%
- EPSS 2.1% chance of exploitation in 30 days, percentile 81%
- public exploits
- 0
- none known
Summary
Schema-Inspector is an open-source tool to sanitize and validate JS objects (npm package schema-inspector). In before version 2.0.0, email address validation is vulnerable to a denial-of-service attack where some input (for example `a@0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.`) will freeze the program or web browser page executing the code. This affects any current schema-inspector users using any version to validate email addresses. Users who do not do email validation, and instead do other types of validation (like string min or max length, etc), are not affected. Users should upgrade to version 2.0.0, which uses a regex expression that isn't vulnerable to ReDoS.
Patch / fix
- npm schema-inspector 2.0.0
- schema-inspector_project schema-inspector 2.0.0
Exploit prediction
2.09% chance of exploitation in the next 30 days, higher than 81% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/schema-inspector/schema-inspector/security/advisories/GHSA-f38p-c2gq-4pmr referenced PoC, tagged "exploit" by a source, unverified
- gist.github.com https://gist.github.com/mattwelke/b7f42424680a57b8161794ad1737cd8f referenced PoC, tagged "exploit" by a source, unverified
- npmjs.com https://www.npmjs.com/package/schema-inspector referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:N/I:N/A:P |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | schema-inspector | <2.0.0 |
2.0.0 |
Affected products
- schema-inspector schema-inspector
Classification
References
-
github.com
/schema-inspector/schema-inspector/security/advisories/GHSA-f38p-c2gq-4pmr
web, exploit, third-party-advisory
-
gist.github.com
/mattwelke/b7f42424680a57b8161794ad1737cd8f
web, exploit, third-party-advisory
-
npmjs.com
/package/schema-inspector
web, exploit, third-party-advisory
-
security.netapp.com
/advisory/ntap-20210528-0006/
third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2021-21267
advisory
-
github.com
/schema-inspector/schema-inspector/releases/tag/2.0.0
web
-
security.netapp.com
/advisory/ntap-20210528-0006
web
Sources
- CVE List CVE-2021-21267
- GitHub Advisory GHSA-f38p-c2gq-4pmr
- NVD CVE-2021-21267
Fencer Vulns 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.