Platform
nodejs
Component
loader-utils
Opgelost in
2.5.4
CVE-2022-37603 is een Regular expression Denial of Service (ReDoS) kwetsbaarheid in de interpolateName functie van loader-utils versie 2.0.0. Een kwaadaardig gevormde string kan crafted requests versturen die een systeem laten crashen of onevenredig veel tijd kosten om te verwerken, wat resulteert in een Denial of Service (DoS). Deze kwetsbaarheid treft loader-utils versie 2.0.0. De kwetsbaarheid is verholpen in versies 1.4.2, 2.0.4 en 3.2.1.
CVE-2022-37603 heeft betrekking op de loader-utils-bibliotheek die door webpack wordt gebruikt, met name de functie interpolateName in interpolateName.js. Deze kwetsbaarheid is een Regular Expression Denial of Service (ReDoS) aanval. Een aanvaller kan zorgvuldig samengestelde verzoeken met kwaadaardige strings via de url-variabele verzenden. Deze strings kunnen, wanneer ze door de reguliere expressie worden verwerkt, een onevenredig groot aantal systeembronnen verbruiken, wat kan leiden tot een crash of aanzienlijke vertraging. Het risico is vooral groot in omgevingen waar webpack wordt gebruikt om complexe webapplicaties te bouwen, aangezien een succesvolle aanval het bouwproces kan verstoren en de beschikbaarheid van de service kan beïnvloeden. De CVSS-severity score is 7,5, wat een hoog risico aangeeft.
De kwetsbaarheid wordt uitgebuit door kwaadaardige strings in te spuiten in de url-variabele die door de functie interpolateName wordt gebruikt. Deze strings zijn ontworpen om een overmatig gedrag van de reguliere expressie te triggeren, wat leidt tot een ReDoS. De aanvaller moet in staat zijn om de waarde van de url-variabele te controleren of te beïnvloeden. Dit kan bijvoorbeeld gebeuren via queryparameters in een URL, gegevens die door een formulier worden ingediend, of zelfs via manipulatie van configuratiebestanden. De complexiteit van de aanval hangt af van het vermogen van de aanvaller om een string te creëren die de verwerkingstijd van de reguliere expressie maximaliseert.
Exploit Status
EPSS
1.26% (79% percentiel)
CVSS-vector
De meest effectieve oplossing is om de loader-utils-bibliotheek bij te werken naar een gepatchte versie. Versies 1.4.2, 2.0.4 en 3.2.1 bevatten de fix voor deze kwetsbaarheid. We raden ten zeerste aan om bij te werken naar de nieuwste beschikbare versie. Als een update niet onmiddellijk mogelijk is, kunnen tijdelijke mitigerende maatregelen worden geïmplementeerd, zoals het valideren en opschonen van de invoer van de url-variabele voordat deze aan de functie interpolateName wordt doorgegeven. Deze maatregelen zijn echter minder veilig dan een volledige update en mogen alleen als een tijdelijke workaround worden beschouwd. Het monitoren van de systeemprestaties en foutenlogs kan helpen bij het detecteren van potentiële ReDoS-aanvallen.
Actualice el paquete loader-utils a la versión 2.5.4 o superior para mitigar la vulnerabilidad de denegación de servicio por expresión regular (ReDoS). Esto se puede hacer utilizando un gestor de paquetes como npm o yarn.
Kwetsbaarheidsanalyses en kritieke waarschuwingen direct in uw inbox.
Een ReDoS (Regular Expression Denial of Service) aanval maakt gebruik van de manier waarop reguliere expressies bepaalde invoer verwerken, waardoor overmatige bronnen worden verbruikt en een denial of service wordt veroorzaakt.
Als u een versie van loader-utils gebruikt die vóór 1.4.2, 2.0.4 of 3.2.1 is uitgebracht, is de kans groot dat u getroffen bent. Controleer de afhankelijkheden van uw webpack-project.
Als tijdelijke maatregel kunt u de invoer van de url-variabele valideren en opschonen voordat u deze in interpolateName gebruikt, maar dit is geen volledige oplossing.
Er zijn statische analyse-tools die kunnen helpen bij het identificeren van potentiële ReDoS-kwetsbaarheden in reguliere expressies, maar hun effectiviteit kan variëren.
U kunt het kwetsbaarheidsrapport raadplegen in beveiligingsdatabases zoals CVE (Common Vulnerabilities and Exposures) en de webpack- en loader-utils-documentatie.
Upload je dependency-bestand en kom direct te weten of deze en andere CVEs jou raken.