Laag · 1.9 Node.js & npm CVE-2026-115754 GHSA-m5mm-p8h7-m29v CVE-2026-115897
XSS-lek in serialize-javascript: onontsnapte </script in geserialiseerde functiebroncode (CVE-2026-115754, CVE-2026-115897)
Twee gerelateerde advisories (CVE-2026-115754, CVE-2026-115897 / GHSA-m5mm-p8h7-m29v) beschrijven een laag-risico cross-site scripting-probleem in serialize-javascript vóór versie 7.1.3, waarbij door een aanvaller beïnvloede functiebroncode uit een HTML script-element kan 'ontsnappen'. De leverancier heeft versie 7.1.3 uitgebracht om dit te verhelpen.
AI-samenvatting
Er zijn twee advisories gepubliceerd die dezelfde onderliggende kwetsbaarheid beschrijven in het npm-pakket serialize-javascript: CVE-2026-115754 en CVE-2026-115897, beide geregistreerd onder GHSA-m5mm-p8h7-m29v. Het gaat om een cross-site scripting (XSS)-zwakte die te maken heeft met de manier waarop de library functiebroncode escaped bij het serialiseren van JavaScript-waarden voor opname in HTML. Beide advisories melden lage CVSS-scores en zijn het erover eens dat het probleem is opgelost in versie 7.1.3.
Wat is er gebeurd
Er zijn beveiligingsadvisories gepubliceerd over een cross-site scripting-kwetsbaarheid in serialize-javascript, een library die JavaScript-waarden — waaronder reguliere expressies en functies — serialiseert naar een superset van JSON. Door de kwetsbaarheid kan een aanvaller die invloed heeft op de broncode van een functie (bijvoorbeeld via een nagebootste toString()-methode) ervoor zorgen dat die broncode precies eindigt bij een kale afsluitende script-tag-prefix. Omdat elke functie-body onafhankelijk wordt geëscaped, kan een scheidingsteken uit omliggende geserialiseerde output hiermee worden gecombineerd om een HTML <script>-element voortijdig af te sluiten. Een daaropvolgende geserialiseerde waarde kan vervolgens geïnjecteerde markup leveren, zoals een img-tag met een onerror-handler, die als actieve, uitvoerbare inhoud op de pagina terechtkomt.
Technische oorzaak
De oorzaak ligt in de escape-logica die serialize-javascript gebruikt voor functiebroncode. De library neutraliseert geen kale afsluitende script-prefix (</script) wanneer door een aanvaller beïnvloede functiebroncode exact op die prefix eindigt. Omdat functie-bodies onafhankelijk van de omliggende geserialiseerde output worden geëscaped, kan een door de aanvaller gecontroleerd scheidingsteken in nabijgelegen geserialiseerde data zich combineren met de niet-geëscapete prefix, waardoor het omsluitende script-element voortijdig wordt beëindigd en vervolgens HTML-inhoud kan worden geïnjecteerd. Dit valt onder CWE-79 (onjuiste neutralisatie van invoer tijdens het genereren van webpagina's, 'Cross-site Scripting').
Waarom dit relevant is
Als een applicatie JavaScript-functiewaarden serialiseert met een kwetsbare versie van serialize-javascript en het resultaat in een HTML-pagina plaatst, en als enig deel van die functiebroncode door een aanvaller kan worden beïnvloed (bijvoorbeeld via een nagebootste toString()-implementatie op door de aanvaller aangeleverde data), kan de escape-fout ertoe leiden dat geïnjecteerde markup wordt uitgevoerd binnen de context van de pagina. Beide advisories classificeren dit als laag risico: CVE-2026-115754 heeft een CVSS v4.0-basisscore van 2,3 en CVE-2026-115897 een CVSS v4.0-basisscore van 2,1. Misbruik vereist specifieke omstandigheden, waaronder controle van de aanvaller over de functiebroncode én gebruikersinteractie.
Wie wordt getroffen
Applicaties die het npm-pakket serialize-javascript gebruiken in versies vóór 7.1.3 zijn getroffen, met name wanneer de applicatie toestaat dat door een aanvaller beïnvloede data terechtkomt in een functiewaarde die vervolgens wordt geserialiseerd en in HTML-output wordt geplaatst. De exacte startversie van het kwetsbare bereik verschilt licht tussen de twee advisories: de ene vermeldt het bereik vanaf versie 0 tot (niet inclusief) 7.1.3, terwijl de andere het probleem beschrijft als aanwezig vanaf versie 7.0.1 tot 7.1.3. Deze discrepantie tussen de twee advisory-bronnen wordt hier vermeld, maar kan op basis van de beschikbare gegevens niet worden opgelost.
Ontdekking en tijdlijn
CVE-2026-115754 werd gepubliceerd op 23-10-2026. CVE-2026-115897 (ook geregistreerd als GHSA-m5mm-p8h7-m29v) werd kort daarna, dezelfde dag, gepubliceerd. Het beschikbare feitenpakket bevat geen informatie over wie de kwetsbaarheid heeft ontdekt of gerapporteerd.
Getroffen versies
Volgens de GitHub Advisory Database en OSV.dev zijn serialize-javascript-versies vanaf 0 tot (niet inclusief) 7.1.3 getroffen. Eén advisory-beschrijving beperkt het startpunt daarnaast nader tot versie 7.0.1. Versie 7.1.3 bevat de oplossing.
Oplossingen en mitigatie
De leverancier heeft serialize-javascript versie 7.1.3 uitgebracht, waarin het beschreven escape-probleem uit beide advisories is verholpen.
Aanbevolen actie
Werk de serialize-javascript-dependency bij naar versie 7.1.3 of hoger. Controleer applicatiecode waar door een aanvaller beïnvloede data mogelijk als JavaScript-functie wordt geserialiseerd (bijvoorbeeld via aangepaste toString()-implementaties) en zorg ervoor dat dergelijke output niet zonder extra beveiligingsmaatregelen in HTML wordt geplaatst.
PatchBriefing-score
1.9 / 10 · Laag
Officiële CVSS: 2.3
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/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
Beide advisories kennen een lage CVSS v4.0-basisscore toe — 2,3 voor CVE-2026-115754 en 2,1 voor CVE-2026-115897 — wat weerspiegelt dat misbruik specifieke randvoorwaarden vereist, waaronder invloed van de aanvaller op de functiebroncode en gebruikersinteractie, met beperkte impact op vertrouwelijkheid en integriteit en geen impact op beschikbaarheid. Er is geen bekende actieve exploitatie en er is geen publiek exploitcode gerapporteerd. De Patchwire-scores (respectievelijk 1,9 en 1,2) zijn voornamelijk afgeleid van deze lage CVSS-basisscores, met een bescheiden verhoging voor CVE-2026-115754 vanwege de factor 'ongeauthenticeerde, externe aanvalsvector'.
Getroffen versies
- serialize-javascript ≥ 0 < 7.1.3
- kwetsbaar
- ≥ 7.1.3
- gepatcht
- serialize-javascript < 7.1.3
- kwetsbaar
- ≥ 7.1.3
- gepatcht
Gemelde oplossingen
De leverancier heeft serialize-javascript versie 7.1.3 uitgebracht, waarin het beschreven escape-probleem uit beide advisories is verholpen.
Hoe dit rapport is gemaakt
4 bronrecords zijn opgehaald, gekoppeld en gebruikt om het rapport hierboven op te stellen.
-
NVD (NIST) database
-
OSV.dev database
-
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