Gemiddeld · 5.8 Node.js & npm GHSA-325j-mg25-8q58 CVE-2026-61534
Prototype Pollution in Yayson JSON:API-bibliotheek (CVE-2026-61534)
Yayson-versies tot en met 4.2.0 bevatten een kritieke prototype pollution-kwetsbaarheid in de Store- en LegacyStore-deserialisatielogica, waardoor aanvaller-gecontroleerde JSON:API-documenten Object.prototype kunnen vervuilen. Versie 4.3.0 verhelpt het probleem.
AI-samenvatting
Er is een kritieke kwetsbaarheid bekendgemaakt in Yayson, een JavaScript-bibliotheek voor het serialiseren en lezen van JSON:API-data. Het probleem, geregistreerd als CVE-2026-61534 (GHSA-325j-mg25-8q58), stelt aanvallers in staat om via gemanipuleerde JSON:API-documenten het Object.prototype van JavaScript te vervuilen, met gevolgen variërend van denial-of-service tot corruptie van applicatielogica. Het probleem treft alle versies tot en met 4.2.0 en is verholpen in versie 4.3.0.
Wat is er gebeurd
Er is een prototype pollution-kwetsbaarheid vastgesteld in de deserialisatiecode van Yayson's Store en LegacyStore (src/yayson/store.ts en src/yayson/legacy-store.ts). Deze componenten gebruiken door aanvallers controleerbare waarden uit JSON:API-documenten — met name de velden 'type', 'id' en relatienamen — als sleutels in gewone JavaScript-objecten, zonder deze te saneren. Een document waarvan het type is ingesteld op '__proto__' zorgt ervoor dat de model-cache rechtstreeks naar Object.prototype schrijft, waarbij de aanvaller de naam van de vervuilde eigenschap bepaalt via het 'id'-veld en de waarde via de 'attributes'.
Technische oorzaak
De onderliggende oorzaak is CWE-1321 (ongecontroleerde wijziging van Object Prototype-attributen). Omdat Store en LegacyStore ongefilterde 'type'-, 'id'- en relatie-identifiers uit JSON:API gebruiken als objectsleutels, worden speciale eigenschapsnamen zoals '__proto__', 'constructor' en 'prototype' niet uitgesloten. Hierdoor kan een kwaadaardig geconstrueerd document — ook wanneer dit via een 'included'-resource wordt aangeleverd — Object.prototype bereiken en wijzigen. LegacyStore is eveneens kwetsbaar wanneer de geconfigureerde types-mapping van een applicatie resulteert in '__proto__', wat een extra aanvalspad biedt.
Waarom dit belangrijk is
Prototype pollution raakt alle objecten binnen een JavaScript-proces, omdat Object.prototype globaal wordt gedeeld. Dit kan leiden tot denial-of-service doordat gedeeld objectgedrag wordt verstoord, en kan applicatielogica op onvoorspelbare manieren corrumperen. Volgens de advisory hangt verdere impact — zoals het omzeilen van autorisatie of het uitvoeren van code — af van de aanwezigheid van zogeheten 'gadgets' (codepaden die misbruikt kunnen worden zodra prototype-eigenschappen zijn vervuild) in de gebruikende applicatie. Dergelijke gadgets worden in deze advisory niet bevestigd; de beschreven basisimpact is denial-of-service en logicacorruptie.
Wie wordt getroffen
Elke applicatie die het npm-pakket yayson gebruikt om JSON:API-data uit niet-vertrouwde of externe bronnen te deserialiseren, is potentieel kwetsbaar, aangezien de kwetsbaarheid wordt geactiveerd door het verwerken van door aanvallers aangeleverde documenten via Store of LegacyStore.
Getroffen versies
Alle yayson-versies vanaf 0 tot en met 4.2.0 zijn kwetsbaar.
Fixes en mitigatie
De kwetsbaarheid is verholpen in yayson-versie 4.3.0. Organisaties die yayson gebruiken, wordt aangeraden te upgraden naar versie 4.3.0 of hoger.
Aanbevolen actie
Werk yayson zo snel mogelijk bij naar versie 4.3.0, vooral bij applicaties die JSON:API-data verwerken die afkomstig is van externe of niet-vertrouwde bronnen. Controleer na het upgraden de applicatielogs op afwijkend gedrag dat kan wijzen op eerdere misbruikpogingen, en controleer eigen codepaden die mogelijk kwetsbaar zijn voor prototype pollution-gadgets.
PatchBriefing-score
5.8 / 10 · Gemiddeld
Officiële CVSS: 9.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
Waarom deze score
Deze kwetsbaarheid heeft een CVSS-basisscore van 9.1 (kritiek), wat aangeeft dat deze te misbruiken is via het netwerk (AV:N) met lage aanvalscomplexiteit (AC:L), zonder dat privileges (PR:N) of gebruikersinteractie (UI:N) vereist zijn, en met hoge impact op integriteit en beschikbaarheid (I:H, A:H) zonder impact op vertrouwelijkheid (C:N). De door PatchBriefing berekende score van 5.8 weegt de hoge CVSS-basisscore mee, samen met het feit dat de kwetsbaarheid op afstand en zonder authenticatie te misbruiken is en geen gebruikersinteractie vereist. De score bevat geen verhoging voor bekende actieve misbruik, publiek beschikbare exploitcode of een verhoogde EPSS-waarschijnlijkheid, aangezien geen van deze van toepassing is, en houdt rekening met het feit dat er al een fix beschikbaar is.
Getroffen versies
- yayson <= 4.2.0
- kwetsbaar
- ≥ 4.3.0
- gepatcht
Gemelde oplossingen
De kwetsbaarheid is verholpen in yayson-versie 4.3.0. Organisaties die yayson gebruiken, wordt aangeraden te upgraden naar versie 4.3.0 of hoger.
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