Naar inhoud
PatchBriefing

Zoek in PatchBriefing

Typ minimaal twee tekens. Resultaten worden direct bijgewerkt.

Zoek op CVE’s, producten, packages en artikeltitels.

Niets gevonden. Kenmerken zoals CVE en GHSA zijn in beide talen doorzoekbaar.

Inschrijven

Gemiddeld · 4.9 Node.js & npm GHSA-j22f-vq7h-c4qm CVE-2026-92708 GHSA-9rgm-9g3h-6x36 CVE-2026-81176

Twee kwetsbaarheden in devalue verholpen: geheugenlek en DoS-risico in Sveltes serialisatiebibliotheek

Het npm-pakket devalue, gebruikt voor het serialiseren van waarden in SvelteKit, Nuxt en andere frameworks, bevatte twee afzonderlijke kwetsbaarheden: een ernstig geheugenlek (CVE-2026-92708) waarbij tot 64 KB aan niet-gerelateerd procesgeheugen kon lekken, en een minder ernstige denial-of-service-kwetsbaarheid (CVE-2026-81176) door ongelimiteerde verwerking van niet-vertrouwde invoer. Beide zijn verholpen in actuele versies.

Door AI gesynthetiseerd uit 4 bronnen · bijgewerkt 1 uur geleden

AI-samenvatting

Sveltes devalue-bibliotheek, gebruikt om waarden te serialiseren naar strings bij server-side rendering in frameworks zoals SvelteKit en Nuxt, heeft fixes gekregen voor twee afzonderlijke kwetsbaarheden die in september en oktober 2026 zijn gepubliceerd. Het ernstigste probleem maakt het mogelijk om zonder authenticatie niet-gerelateerd procesgeheugen te lekken tijdens normale paginarendering, terwijl het tweede probleem een denial-of-service-situatie kan veroorzaken bij het verwerken van niet-vertrouwde geserialiseerde data.

Wat is er gebeurd

In devalue, een JavaScript-bibliotheek die waarden serialiseert naar strings wanneer JSON.stringify niet volstaat, zijn twee kwetsbaarheden vastgesteld. CVE-2026-92708 betreft de functies stringify en uneval: bij het serialiseren van een typed array gaf devalue de volledige onderliggende ArrayBuffer mee in plaats van alleen het relevante deel (de view). Omdat Node's Buffer-objecten gebruikmaken van een gedeelde geheugenpool voor het hele proces, kon het serialiseren van zelfs een kleine Buffer tot 64 KB aan niet-gerelateerd procesgeheugen blootleggen, inclusief data van andere, gelijktijdig lopende requests. Daarnaast betreft CVE-2026-81176 de functie devalue.parse, die geen controle uitvoerde op indices die groter waren dan of gelijk aan values.length. Een speciaal geprepareerde payload kon hierdoor kwadratisch oplopende verwerkingstijd veroorzaken naarmate de payload groeide, wat leidt tot denial of service bij het verwerken van niet-vertrouwde devalue-data.

Technische oorzaak

Bij CVE-2026-92708 ligt de oorzaak in het feit dat de serialisatielogica van devalue voor typed arrays de volledige onderliggende ArrayBuffer vastlegde in plaats van alleen de grenzen van de betreffende view. Node Buffer-objecten delen vaak, om efficiëntieredenen, één grotere geheugenpool, waardoor het meesturen van de hele buffer ook aangrenzend geheugen lekt dat nooit bedoeld was als onderdeel van de geserialiseerde waarde. Dit speelt zich puur af tijdens serialisatie en wordt niet opgevangen door bestaande beveiligingen tegen prototype-pollution of DoS in de parser, aangezien die alleen gelden bij het parsen van niet-vertrouwde invoer, niet bij de output van stringify/uneval. Bij CVE-2026-81176 controleerde de parser in src/parse.js niet of array-indices binnen de grenzen bleven (kleiner dan values.length). Een door een aanvaller gecontroleerde payload kon hierdoor de parser laten wisselen tussen array-representaties, wat resulteerde in een kwadratisch oplopende verwerkingstijd ten opzichte van de payloadgrootte.

Waarom dit relevant is

In applicaties die server-side rendering gebruiken via frameworks zoals SvelteKit of Nuxt, kon een publieke pagina waarvan de load()-functie een kleine Buffer retourneert, of een klein bestand inleest, onbedoeld de request body of Authorization-header van een andere gebruiker rechtstreeks in de HTML van de pagina lekken, zonder dat daarvoor enige authenticatie nodig was. Dit kon zich voordoen bij elke rendering van de betreffende pagina, waardoor het een aanhoudend en stil informatielek betreft in plaats van een eenmalig incident. Het DoS-probleem maakt het daarnaast mogelijk voor een aanvaller om de beschikbaarheid van een applicatie te verstoren door speciaal geprepareerde devalue-payloads aan te bieden die kostbaar zijn om te verwerken.

Wie wordt getroffen

Elke applicatie of dienst die het npm-pakket devalue gebruikt, loopt mogelijk risico, inclusief applicaties die het indirect gebruiken via frameworks zoals SvelteKit of Nuxt voor server-side rendering. Voor CVE-2026-92708 lopen applicaties risico als ze Node Buffer-objecten (of andere typed arrays met een gedeelde geheugenpool als backing store) serialiseren via de stringify- of uneval-functies van devalue. Voor CVE-2026-81176 lopen applicaties risico als ze devalue.parse gebruiken om niet-vertrouwde of extern aangeleverde geserialiseerde data te verwerken.

Getroffen versies

CVE-2026-92708 treft devalue-versies vanaf 5.1.0 tot en met 5.9.2. CVE-2026-81176 treft devalue-versies vóór 5.9.1 (dus alle versies vanaf 0 tot aan, maar niet inclusief, 5.9.1).

Oplossingen en mitigatie

CVE-2026-92708 is verholpen in devalue-versie 5.9.3. Als tijdelijke maatregel voordat wordt geüpgraded, kunnen applicaties Node Buffer-objecten omzetten naar Uint8Array vóór serialisatie, om te voorkomen dat de gedeelde achterliggende geheugenpool wordt blootgesteld. CVE-2026-81176 is verholpen in devalue-versie 5.9.2, die grenscontrole toevoegt om indices buiten de geldige grenzen tijdens het parsen te weigeren.

Aanbevolen actie

Upgrade devalue naar versie 5.9.3 of hoger; deze versie verhelpt beide kwetsbaarheden. Als een directe upgrade niet mogelijk is, pas dan de gedocumenteerde tijdelijke maatregel toe door Node Buffer-objecten vóór serialisatie om te zetten naar Uint8Array, om CVE-2026-92708 te mitigeren, en vermijd het verwerken van niet-vertrouwde devalue-data totdat is gepatcht, om blootstelling aan CVE-2026-81176 te beperken. Controleer server-side gerenderde pagina's op load()-functies of bestandsleesacties die Buffer-objecten retourneren, aangezien deze mogelijk stilzwijgend data hebben gelekt.

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:H/I:N/A:N

Waarom deze score

CVE-2026-92708 heeft een CVSS-score van 7,5 (Hoog), wat duidt op een via het netwerk exploiteerbare kwetsbaarheid zonder vereiste authenticatie of gebruikersinteractie, met een hoge impact op vertrouwelijkheid (een aanvaller kan gevoelige data uitlezen), maar geen impact op integriteit of beschikbaarheid. De PatchBriefing-score van 4,9 weerspiegelt deze CVSS-basisscore in combinatie met de afwezigheid van bekende of publiek beschikbare exploitatie, en houdt rekening met het feit dat er al een fix beschikbaar is. CVE-2026-81176 heeft een CVSS-score van 5,3 (Gemiddeld), wat duidt op een via het netwerk exploiteerbare DoS-kwetsbaarheid zonder authenticatie-eis, met lage impact op beschikbaarheid en geen impact op vertrouwelijkheid of integriteit. De PatchBriefing-score van 3,7 weerspiegelt eveneens de afwezigheid van bekende of publieke exploitatie en de beschikbaarheid van een fix. Geen van beide kwetsbaarheden staat geregistreerd als actief misbruikt of gekoppeld aan ransomware-activiteit, en voor geen van beide is publiek exploitcode gerapporteerd.

Getroffen versies

devalue >= 5.1.0, <= 5.9.2
kwetsbaar
≥ 5.9.3
gepatcht
devalue < 5.9.1
kwetsbaar
≥ 5.9.2
gepatcht

Gemelde oplossingen

CVE-2026-92708 is verholpen in devalue-versie 5.9.3. Als tijdelijke maatregel voordat wordt geüpgraded, kunnen applicaties Node Buffer-objecten omzetten naar Uint8Array vóór serialisatie, om te voorkomen dat de gedeelde achterliggende geheugenpool wordt blootgesteld. CVE-2026-81176 is verholpen in devalue-versie 5.9.2, die grenscontrole toevoegt om indices buiten de geldige grenzen tijdens het parsen te weigeren.

Hoe dit rapport is gemaakt

4 bronrecords zijn opgehaald, gekoppeld en gebruikt om het rapport hierboven op te stellen.

  • GitHub Advisory Database database
  • NVD (NIST) database
  • GitHub Advisory Database database
  • NVD (NIST) database
Eén rapport
Twee kwetsbaarheden in devalue verholpen: geheugenlek en DoS-risico in Sveltes serialisatiebibliotheek
1 artikel · 4 bronnen geciteerd
Revisiegeschiedenis
  1. Gepubliceerd
  2. Gegenereerd
De Ochtendbriefing

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