GHSA-xgh6-85xh-479p

Regular Expression Denial of Service in npm-user-validate

At a glance

Published
Updated
CVE
CVE-2020-7754
Aliases
GHSA-pw54-mh39-w3hc

Description

`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 packages

PackageVersions
npm · npm-user-validateintroduced 0, fixed 1.0.1

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — GitHub Advisory Database