Platform
nodejs
Component
is
Opgelost in
0.9.1
CVE-2020-26302 beschrijft een Denial of Service (DoS) kwetsbaarheid in de is.js bibliotheek, een algemeen bruikbare check library. Deze kwetsbaarheid ontstaat door inefficiënte reguliere expressies die een oneindige lus kunnen veroorzaken bij het valideren van kwaadaardige strings. Versies van is.js tot en met 0.9.0 zijn kwetsbaar. Een patch is beschikbaar in versie 0.9.1.
Een aanvaller kan deze kwetsbaarheid misbruiken om een Denial of Service (DoS) aan te vallen op applicaties die is.js gebruiken. Door een speciaal ontworpen string te versturen die de reguliere expressie in is.js triggert, kan de applicatie vastlopen en niet meer reageren. Dit kan leiden tot een verstoring van de dienstverlening en mogelijk tot dataverlies, afhankelijk van de functionaliteit van de applicatie. De impact is significant omdat de kwetsbaarheid relatief eenvoudig te exploiteren is en wijdverspreid kan voorkomen in Node.js projecten.
Deze kwetsbaarheid werd ontdekt met behulp van een CodeQL query die inefficiënte reguliere expressies identificeert. Er is geen publieke proof-of-concept (POC) bekend, maar de kwetsbaarheid is relatief eenvoudig te exploiteren. De kwetsbaarheid is openbaar gemaakt op 23 december 2022. Er is geen indicatie van actieve exploitatie op dit moment.
Applications built using is.js, particularly those that handle user-supplied URLs without proper validation, are at risk. Node.js projects relying on this library are especially vulnerable. Shared hosting environments where multiple applications share the same server resources could experience broader impact from a successful attack.
• nodejs: Monitor CPU usage spikes when validating URLs. Use ps or top to identify processes consuming excessive CPU.
ps aux | grep is.js• generic web: Examine access logs for unusual patterns of URL requests. Look for URLs containing complex or unusual characters.
grep 'complex_url_pattern' /var/log/apache2/access.logdiscovery
disclosure
Exploit Status
EPSS
0.27% (51% percentiel)
CVSS-vector
De primaire mitigatie is het upgraden naar versie 0.9.1 van is.js, waarin de kwetsbare reguliere expressie is gecorrigeerd. Indien een upgrade direct niet mogelijk is, kan een tijdelijke workaround bestaan uit het filteren van input die mogelijk kwaadaardige strings bevat. Het is belangrijk om te controleren op de aanwezigheid van is.js in uw projecten en de versies die worden gebruikt. Gebruik tools zoals npm audit of yarn audit om kwetsbaarheden in uw afhankelijkheden te identificeren. Na de upgrade, controleer of de validatie van URL's correct functioneert en geen oneindige lussen veroorzaakt.
Dit pakket bevat een ReDoS kwetsbaarheid. Er is geen gecorrigeerde versie beschikbaar. Het wordt aanbevolen om alternatieven voor de is.js bibliotheek te evalueren of aanvullende validaties voor URL's te implementeren voordat de kwetsbare functie wordt gebruikt.
Kwetsbaarheidsanalyses en kritieke waarschuwingen direct in uw inbox.
CVE-2020-26302 is a Denial of Service vulnerability in is.js versions 0.9.0 and earlier, where malicious URLs can trigger a ReDoS attack, causing excessive CPU usage.
You are affected if you are using is.js version 0.9.0 or earlier. Upgrade to 0.9.1 or later to mitigate the risk.
Upgrade to version 0.9.1 or later. If upgrading is not possible, implement input sanitization to validate URLs before processing.
No active exploitation campaigns have been publicly reported, but ReDoS vulnerabilities are often targeted by automated scanners.
Refer to the CVE entry on the NVD website: https://nvd.nist.gov/vuln/detail/CVE-2020-26302
Upload je dependency-bestand en kom direct te weten of deze en andere CVEs jou raken.