Gemiddeld · 6.0 Node.js & npm GHSA-vfj7-8cjw-p6xm CVE-2026-93687
braces ≤ 3.0.3: Denial-of-Service door stack-uitputting via diep geneste brace-patronen
Een kwetsbaarheid in het npm-pakket braces (versies tot en met 3.0.3) stelt aanvallers in staat om Node.js-processen te laten crashen door diep geneste brace-patronen aan te bieden die de call-stack uitputten. Er is momenteel nog geen patch beschikbaar.
AI-samenvatting
Er is een denial-of-service-kwetsbaarheid vastgesteld in het npm-pakket braces, geregistreerd als CVE-2026-93687 (GHSA-vfj7-8cjw-p6xm). Het probleem treft alle versies tot en met 3.0.3 en komt voort uit recursieve AST-verwerkingslogica die geen dieptebeveiliging kent. Een aanvaller die een speciaal geconstrueerd brace-patroon kan aanbieden aan een applicatie die deze library gebruikt, kan het onderliggende Node.js-proces laten crashen. Op het moment van publicatie is er nog geen gepatchte versie beschikbaar.
Wat is er gebeurd
In het npm-pakket braces is een stack-overflow-kwetsbaarheid vastgesteld. De recursieve AST-walkers (abstract syntax tree) van het pakket, die worden gebruikt om brace-expansiepatronen te verwerken, bevatten geen dieptebeveiliging. Door een diep genest brace-patroon aan te leveren dat onder de tekenlimiet blijft, kan een aanvaller ervoor zorgen dat de recursie de call-stack uitput, wat resulteert in een onopgevangen RangeError die het Node.js-proces beëindigt.
Technische oorzaak
De oorzaak is ongecontroleerde recursie (CWE-674) in de patroonverwerkingscode van braces. Omdat de recursieve walkers geen maximale nestingdiepte afdwingen, kan een patroon worden geconstrueerd met voldoende geneste niveaus om de call-stack te laten overlopen vóórdat een eventuele tekenlimiet wordt bereikt, wat leidt tot een crash in plaats van een nette foutafhandeling.
Waarom dit ertoe doet
Omdat de kwetsbaarheid kan worden getriggerd zonder authenticatie en zonder gebruikersinteractie, loopt elke applicatie die door een aanvaller gecontroleerde input doorgeeft aan de patroonverwerking van braces risico op een denial-of-service-situatie. Een succesvolle trigger laat het Node.js-proces crashen, wat de beschikbaarheid van de betrokken applicaties kan verstoren.
Wie wordt getroffen
Elk project dat afhankelijk is van het npm-pakket braces in versie 3.0.3 of ouder wordt getroffen, inclusief applicaties of bibliotheken die externe of door gebruikers aangeleverde strings doorgeven aan braces voor patroonexpansie.
Getroffen versies
Alle versies van braces vanaf de eerste release (0) tot en met 3.0.3 zijn getroffen.
Oplossingen en mitigatie
Op het moment van schrijven is er nog geen gepatchte versie gepubliceerd voor deze kwetsbaarheid. Sitebeheerders en ontwikkelaars wordt aangeraden de GitHub Advisory Database (GHSA-vfj7-8cjw-p6xm) en de pagina van het braces npm-pakket in de gaten te houden voor een update die dieptebeveiliging in de AST-walkers introduceert.
Aanbevolen actie
Vermijd totdat er een patch beschikbaar is het rechtstreeks doorgeven van niet-vertrouwde of extern gecontroleerde input aan de patroonmatchingfuncties van braces. Implementeer waar mogelijk invoervalidatie op applicatieniveau om diep geneste of verdacht gestructureerde brace-patronen te weren voordat ze de library bereiken. Houd uitkijk naar een gepatchte release en pas deze direct toe zodra deze beschikbaar is.
PatchBriefing-score
6.0 / 10 · Gemiddeld
Officiële CVSS: 8.7
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Waarom deze score
Deze kwetsbaarheid kreeg een Patchwire-score van 6 op de 10. De score weerspiegelt een CVSS-basisscore van 8,7, die het grootste deel van het gewicht levert, gecombineerd met het feit dat de kwetsbaarheid op afstand kan worden getriggerd zonder authenticatie (unauthenticated_remote) en zonder gebruikersinteractie (no_user_interaction). Het ontbreken van een momenteel beschikbare patch (no_fix_available) voegt extra gewicht toe. Er is geen bewijs van actieve misbruik in het wild, geen publiek exploitcode beschikbaar, en er is geen EPSS-score beschikbaar, wat de totale score beperkt ondanks de hoge CVSS-basiswaardering.
Getroffen versies
- braces <= 3.0.3
- kwetsbaar
Gemelde oplossingen
Op het moment van schrijven is er nog geen gepatchte versie gepubliceerd voor deze kwetsbaarheid. Sitebeheerders en ontwikkelaars wordt aangeraden de GitHub Advisory Database (GHSA-vfj7-8cjw-p6xm) en de pagina van het braces npm-pakket in de gaten te houden voor een update die dieptebeveiliging in de AST-walkers introduceert.
Hoe dit rapport is gemaakt
2 bronrecords zijn opgehaald, gekoppeld en gebruikt om het rapport hierboven op te stellen.
-
GitHub Advisory Database database
-
NVD (NIST) database
Revisiegeschiedenis
- Gepubliceerd
- Gegenereerd
Gerelateerd
Relevante veranderingen voor de stacks die je volgt.
Kies je stacks, onderwerpen en eventueel WordPress-plugins. Om 07:00 CEST worden passende meldingen en releases uit de rapportageperiode in één e-mail gegroepeerd.
✓ Kies stacks en onderwerpen✓ Pas voorkeuren altijd aan✓ Eén gebundelde e-mail