Skip to content

Leading white space bypasses protocol validation

Moderate
rodneyrehm published GHSA-gmv4-r438-p67f Mar 3, 2022

Package

npm urijs (npm)

Affected versions

< 1.19.9

Patched versions

1.19.9

Description

Impact

Whitespace characters are not removed from the beginning of the protocol, so URLs are not parsed properly and protocol validation mechanisms may fail.

Patches

Patched in 1.19.9

Workarounds

Remove leading whitespace from values before passing them to URI.parse (e.g. via .href(value) or new URI(value)), e.g. by using

function remove_whitespace(url){
     const whitespace = /^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/;
     url = url.replace(whitespace, '')
     return url
}

References

For more information

If you have any questions or comments about this advisory:

Severity

Moderate

CVE ID

CVE-2022-24723

Weaknesses

Credits