Skip to content

Regular Expression Denial of Service in npm-user-validate

Low severity GitHub Reviewed Published Oct 16, 2020 in npm/npm-user-validate • Updated Jan 9, 2023

Package

npm npm-user-validate (npm)

Affected versions

<= 1.0.0

Patched versions

1.0.1

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.

References

@darcyclarke darcyclarke published to npm/npm-user-validate Oct 16, 2020
Reviewed Oct 16, 2020
Published to the GitHub Advisory Database Oct 16, 2020
Last updated Jan 9, 2023

Severity

Low

Weaknesses

No CWEs

CVE ID

No known CVE

GHSA ID

GHSA-xgh6-85xh-479p

Source code

No known source code
Checking history
See something to contribute? Suggest improvements for this vulnerability.