Gemiddeld · 4.9 Node.js & npm GHSA-gjj5-9665-rwrc CVE-2026-104861
probe-image-size: SVG-verwerkingsfout maakt CPU-uitputting mogelijk (Denial of Service)
Een kwetsbaarheid in de SVG-verwerking van probe-image-size maakt het mogelijk om via kwaadaardige invoer overmatig CPU-gebruik te veroorzaken, waardoor de Node.js event loop kan vastlopen. Opgelost in versie 7.4.0.
AI-samenvatting
Er is een kwetsbaarheid bekendgemaakt in probe-image-size, een Node.js-bibliotheek die afmetingen van afbeeldingen bepaalt zonder het volledige bestand te downloaden. Het probleem, geregistreerd als CVE-2026-104861, zit in de manier waarop de bibliotheek SVG-invoer verwerkt en kan worden misbruikt om overmatig CPU-gebruik te veroorzaken. Er is inmiddels een gerepareerde versie beschikbaar.
Wat is er gebeurd
De SVG-verwerkingscode van probe-image-size, te vinden in lib/parse_sync/svg.js en lib/parse_stream/svg.js, gebruikt een reguliere expressie (/<[-_.:a-zA-Z0-9][^>]*>/) om SVG-markup te doorzoeken. Wanneer de invoer veel '<'-tekens bevat zonder een bijbehorend afsluitend '>'-teken, blijft deze reguliere expressie herhaaldelijk tot het einde van de invoer scannen, wat leidt tot een verwerkingstijd die onevenredig lang is ten opzichte van de invoergrootte.
Technische oorzaak
De synchrone parser (probe.sync()) zet de volledige aangeleverde buffer om en doorzoekt deze zonder enige limiet op de invoergrootte. De streaming-parser, gebruikt door probe(stream) en probe(url), is op een net iets andere maar vergelijkbare manier kwetsbaar: deze verwerkt bij elk ontvangen datablok opnieuw het volledige, tot dan toe opgebouwde SVG-voorvoegsel. Hierdoor kan een aanvaller die controle heeft over hoe de data in delen wordt aangeleverd, de verwerkingskosten verder opdrijven. Beide codepaden kunnen het CPU-gebruik naar 100% drijven en de Node.js event loop blokkeren zolang de kwetsbare code actief is. Dit valt onder CWE-400 (Uncontrolled Resource Consumption).
Waarom dit belangrijk is
Omdat zowel probe.sync(), probe(stream) als probe(url) kwetsbaar zijn, loopt elke applicatie die SVG-invoer uit een niet-vertrouwde bron via probe-image-size verwerkt risico. Eén kwaadaardig SVG-bestand kan de event loop-verwerking van het gehele Node.js-proces blokkeren, waardoor niet alleen het verzoek met de schadelijke invoer, maar ook alle andere gelijktijdige verzoeken worden getroffen.
Wie wordt getroffen
Elke applicatie of dienst die probe-image-size gebruikt om SVG-bestanden te analyseren afkomstig uit bronnen die niet volledig vertrouwd zijn (zoals door gebruikers geüploade bestanden of externe URL's), loopt potentieel risico. De kwetsbaarheid geldt zowel voor de synchrone als de streaming-verwerkingsfuncties.
Getroffen versies
Alle versies van probe-image-size vanaf de eerste release tot en met versie 7.3.0 zijn kwetsbaar. Versie 7.4.0 bevat de oplossing.
Oplossingen en mitigatie
De leverancier heeft versie 7.4.0 uitgebracht, waarin dit probleem is opgelost. Gebruikers met een versie tot en met 7.3.0 wordt aangeraden te updaten naar 7.4.0.
Aanbevolen actie
Update probe-image-size zo snel mogelijk naar versie 7.4.0, vooral in applicaties die SVG-bestanden verwerken afkomstig van niet-vertrouwde of externe bronnen. Overweeg, totdat de update is doorgevoerd, de grootte en herkomst van SVG-invoer te beperken of te filteren als tijdelijke maatregel.
PatchBriefing-score
4.9 / 10 · Gemiddeld
Officiële CVSS: 7.5
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Waarom deze score
Deze kwetsbaarheid heeft een CVSS-basisscore van 7,5 (Hoog), wat duidt op een via het netwerk uitbuitbare Denial of Service-situatie zonder vereiste authenticatie of gebruikersinteractie, met grote impact op beschikbaarheid en geen impact op vertrouwelijkheid of integriteit. De PatchBriefing-score van 4,9 houdt rekening met deze CVSS-basisscore, aangevuld met het feit dat de kwetsbaarheid op afstand en zonder authenticatie of gebruikersinteractie uitbuitbaar is, wat de score licht verhoogt. Er is geen bekende actieve uitbuiting, geen publiek beschikbare exploitcode en geen verhoogde EPSS-kans aangetroffen, waardoor de totaalscore gematigd blijft in plaats van kritiek. Er is een oplossing beschikbaar, wat het risico verder beperkt zodra deze wordt toegepast.
Getroffen versies
- probe-image-size <= 7.3.0
- kwetsbaar
- ≥ 7.4.0
- gepatcht
Gemelde oplossingen
De leverancier heeft versie 7.4.0 uitgebracht, waarin dit probleem is opgelost. Gebruikers met een versie tot en met 7.3.0 wordt aangeraden te updaten naar 7.4.0.
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