Åbner i en ny fane
CVE-2026-92944
Kritisk

CVE-2026-92944: Sandkasseflugt i vm2 på Node.js 26

Kritisk hul i biblioteket vm2 lader angribere bryde ud af JavaScript-sandkassen og køre vilkårlig kode på Node.js 26. Skift til andet isoleringslag.

CVSS Score
9.8
Offentliggjort
17/09/2026
Patch-status
Midlertidig løsning
Exploit
Ingen kendt udnyttelse
Tidsfrist
Vurdér og isolér inden for 48 timer

Hvad er det?

CVE-2026-92944 er en sandkasseflugt (sandbox escape) i biblioteket vm2, som mange Node.js-applikationer bruger til at køre upålidelig JavaScript-kode isoleret fra resten af systemet. Fejlen ligger i, at V8-motoren i Node.js 26 (version 14.6) har en forældet intern kontrolmekanisme kaldet PromiseThenLookupChain, som vm2 er afhængig af for at holde koden inde i sandkassen. Ved at bygge en asynkron funktion, der returnerer et Promise-objekt med en manipuleret Symbol.species-egenskab, kan en angriber få adgang til Node.js’s egen Function-konstruktør og process-objekt, altså vejen ud af sandkassen og ind i selve serverprocessen. Herfra kan angriberen køre præcis den kode, denne vil, med de rettigheder processen har. Svagheden hører til kategorien CWE-693, fejl i en beskyttelsesmekanisme.

Hvem rammer det?

Det rammer virksomheder, der selv har udviklet eller købt software, som bruger vm2 version 3.10.2 til 3.11.6 til at afvikle kode fra brugere eller tredjeparter i en isoleret sandkasse. Det gælder typisk plugin-systemer, low-code eller no-code platforme, regnemaskiner og formel-motoren i regneark, kodefortolkere i undervisnings- eller udviklerværktøjer, samt SaaS-produkter, hvor kunder selv kan uploade scripts. Sårbarheden kræver, at systemet kører på Node.js 26 med V8 14.6. Er man softwareleverandør til danske kommuner eller virksomheder med den slags funktionalitet, bør man undersøge sin egen kodebase.

Hvad kan ske?

Kan en angriber få sin egen kode udført inde i vm2-sandkassen, hvilket ofte netop er formålet med det pågældende produkt, kan angriberen bryde ud og få fuld kontrol over serverprocessen. Det betyder adgang til alt, processen kan se: databaseforbindelser, adgangskoder, andre kunders data på en delt platform, og mulighed for at installere bagdøre eller sprede sig videre i netværket. For en dansk virksomhed, der driver en platform med kundedata, kan det ende som et databrud med krav om anmeldelse til Datatilsynet.

Hvor alvorligt er det?

CVSS-scoren er 9,8 ud af 10, kritisk. Angrebet kræver ingen login og ingen handling fra en bruger i det angrebne system, kun at angriberen kan levere kode til sandkassen, hvilket for mange af de nævnte produkttyper er en helt normal og forventet interaktion. Fortrolighed, integritet og tilgængelighed rammes alle fuldt ud, da angriberen ender med kodeudførelse på serveren. Der er ikke oplyst kendte angreb i naturen på tidspunktet for offentliggørelsen, men fejlen er teknisk simpel at udnytte for en angriber, der kender mekanismen.

Hvad gør jeg nu?

Vi anbefaler at handle i denne rækkefølge:

  1. Undersøg om jeres software eller platform bruger vm2 til at afvikle upålidelig kode, og find ud af hvilken version og hvilken Node.js-version den kører på.
  2. Er I på Node.js 26 med V8 14.6, skal I enten skifte til en Node.js-version uden den forældede kontrolmekanisme, eller lægge sandkassen i en helt separat proces eller container med begrænsede rettigheder, indtil en rettet version af vm2 findes.
  3. Overvej på sigt at udfase vm2 helt til fordel for et aktivt vedligeholdt isoleringslag, da vm2-projektet gentagne gange har haft lignende sandkasseflugter.
  4. Begræns processens netværksadgang, filsystemadgang og rettigheder til det strengt nødvendige, så en eventuel flugt gør mindst mulig skade.
  5. Gennemgå logs for uventede kald til Function-konstruktøren eller uventet adgang til process-objektet fra sandkassekode.
  6. Er I i tvivl om, hvorvidt jeres produkt er sårbart, eller hvordan I isolerer sandkassen korrekt, bør I søge hjælp fra en sikkerhedsrådgiver eller jeres softwareleverandør.
Tidsfrist

Vurdér og isolér inden for 48 timer

Sådan ser Auroa det

Vi anbefaler, at I straks kortlægger, om jeres systemer bruger vm2 til at afvikle tredjepartskode, og at I midlertidigt isolerer den kørende proces i en container eller separat maskine, hvis I kører på Node.js 26. Det er ikke i orden at vente, hvis produktet tager kode fra eksterne brugere, fordi angrebet ikke kræver login eller brugerhandling. Kører I derimod en ældre Node.js-version uden den nævnte V8-fejl, er risikoen lavere, og I kan planlægge en mere gennemgribende løsning, herunder at forlade vm2 helt.

Tidslinje

17/09/2026
Sårbarheden offentliggjort
CVE-2026-92944 registreres med CVSS-score 9,8 og beskrives som en sandkasseflugt i vm2 på Node.js 26 med V8 14.6.

Konkrete eksempler

Low-code platform med kundeformler

En dansk SaaS-udbyder driver en low-code platform, hvor kunder kan skrive egne formler og automatiseringer, som køres i en vm2-sandkasse på serveren. En angriber opretter en formel, der udnytter Symbol.species-fejlen til at bryde ud af sandkassen og får derved adgang til serverens process-objekt. Herfra læser angriberen databasens forbindelsesstreng og henter data fra alle kunder på platformen, ikke kun sin egen konto.

Ofte stillede spørgsmål

CVSS-detaljer

Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

CWE-svaghedstyper

CWE-693

Original NVD-beskrivelse (engelsk)

vm2 versions 3.10.2 through 3.11.6 contain a sandbox escape vulnerability on Node.js 26 where Promise.prototype.finally() bypasses vm2’s wrapper protections due to a stale PromiseThenLookupChain protector in V8 14.6. Attackers can exploit this by creating an async function that returns a Promise with an attacker-controlled constructor Symbol.species, allowing them to reach the host Function constructor and process object for arbitrary code execution.

Referencer & kilder

Eksterne kilder

Sværhedsgrad
Kritisk
CVSS Base Score
9,8
Hurtige fakta
CVE-ID
CVE-2026-92944
Offentliggjort
17/09/2026
Sidst opdateret
17/09/2026
Exploit-status
Ingen kendt udnyttelse
Patch-status
Midlertidig løsning

Brug for hjælp med jeres sikkerhed?

Vi hjælper SMV’er med at omsætte trusler som denne til konkrete handlingsplaner.