Regular Expression Denial of Service in npm-user-validate
npm-user-validate before version 1.0.1 is vulnerable to a Regular Expression Denial of Service (REDos). The regex that validates user emails took exponentially longer to process long input strings beginning with @ characters.
Impact
The issue affects the email function. If you use this function to process arbitrary user input with no character limit the application may be susceptible to Denial of Service.
Patches
The issue is patched in version 1.0.1 by improving the regular expression used and also enforcing a 254 character limit.
Workarounds
Restrict the character length to a reasonable degree before passing a value to .emal(); Also, consider doing a more rigorous sanitizing/validation beforehand.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| npm package | npm-user-validate | < 1.0.1 | 1.0.1 |
References
- https://github.com/npm/npm-user-validate/security/advisories/GHSA-xgh6-85xh-479p
- https://nvd.nist.gov/vuln/detail/CVE-2020-7754
- https://github.com/npm/npm-user-validate/commit/c8a87dac1a4cc6988b5418f30411a8669bef204e
- https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1019353
- https://snyk.io/vuln/SNYK-JS-NPMUSERVALIDATE-1019352
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H- Weakness (CWE)
CWE-400- Platform
- npm
- Package
npm-user-validate- Disclosed
- 16.10.2020
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-pw54-mh39-w3hc - CC BY 4.0
OSV / GitHub Advisory Database - GHSA-xgh6-85xh-479p - CC BY 4.0
Vulnerability history: npm-user-validate
All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.
This is the only known vulnerability of this package.
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.