{"schema_version":"1.9.0","id":"GHSA-xgh6-85xh-479p","published":"2020-10-16T18:56:26Z","modified":"2026-07-08T06:49:44.248240618Z","aliases":["CVE-2020-7754","GHSA-pw54-mh39-w3hc"],"summary":"Regular Expression Denial of Service in npm-user-validate","details":"`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.\n\n### Impact\nThe 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.\n\n### Patches\nThe issue is patched in version 1.0.1 by improving the regular expression used and also enforcing a 254 character limit.\n\n### Workarounds\nRestrict the character length to a reasonable degree before passing a value to `.emal()`; Also, consider doing a more rigorous sanitizing/validation beforehand.","affected":[{"package":{"name":"npm-user-validate","ecosystem":"npm","purl":"pkg:npm/npm-user-validate"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.0.1"}]}],"database_specific":{"last_known_affected_version_range":"<= 1.0.0","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2020/10/GHSA-xgh6-85xh-479p/GHSA-xgh6-85xh-479p.json"}}],"references":[{"type":"WEB","url":"https://github.com/npm/npm-user-validate/security/advisories/GHSA-xgh6-85xh-479p"}],"database_specific":{"cwe_ids":[],"github_reviewed":true,"github_reviewed_at":"2020-10-16T18:56:02Z","nvd_published_at":null,"severity":"LOW"}}