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

CVE-2026-92953: Kritisk sårbarhed i vm2 3.11.0–3.11.7

Kritisk fejl i vm2 3.11.0–3.11.7 giver angribere mulighed for at manipulere værtens hukommelse. Opdatér til 3.11.8 nu.

CVSS Score
10
Offentliggjort
17/09/2026
Patch-status
Opdatering findes
Exploit
Angrebskode er offentlig
Tidsfrist
Opdatér inden for 24 timer

Hvad er det?

CVE-2026-92953 er en kritisk sårbarhed i JavaScript-sandkassebiblioteket vm2, som bruges til at køre upålidelig kode isoleret fra resten af serveren. I versionerne 3.11.0 til og med 3.11.7 er det muligt at gå uden om denne isolation ved at manipulere såkaldte prototyper, det vil sige de grundlæggende skabeloner som JavaScript-arrays og buffere er bygget på. Når en angriber ændrer disse skabeloner inde i sandkassen, smitter ændringerne tilbage til selve værtssystemet, efter at koden er kørt færdig. Fejlklassen hedder CWE-913 og handler om ukontrolleret styring af dynamisk kode.

Hvem rammer det?

Sårbarheden rammer alle systemer og tjenester, der bruger npm-pakken vm2 i versioner fra 3.11.0 til og med 3.11.7. Det er typisk Node.js-baserede applikationer, der tillader brugere eller tredjepartskode at køre JavaScript i en isoleret kontekst, for eksempel SaaS-platforme, CI/CD-pipelines, scripting-funktioner i forretningssystemer og cloudbaserede udviklermiljøer. Virksomheder, der bruger vm2 indirekte via et tredjeparts npm-modul, er lige så sårbare.

Hvad kan ske?

En angriber, der kan sende kode til jeres vm2-sandkasse, kan manipulere de datastrukturer som hele Node.js-processen bagefter bruger. Det betyder, at data der behandles efter angrebet, kan læse eller skrive forkerte værdier, uden at applikationen opdager det. I praksis kan det føre til fejlagtige beregninger, korrupte dataposter i databasen eller mulighed for at eskalere angrebet videre i systemet. Tilgængelighed og dataintegritet er begge i fare, og konsekvenserne rækker potentielt ud over den enkelt vm2-kørsel.

Hvor alvorligt er det?

CVSS-scoren er 10,0, det højeste mulige. Angrebet kræver ingen forudgående login, ingen særlige rettigheder og ingen handling fra en bruger. Det udføres over netværket med lav kompleksitet. Omfanget er vurderet til at ramme ud over sandkassen selv, hvilket afspejler, at effekten spreder sig til værtsmiljøet. Der er endnu ikke bekræftet aktiv udnyttelse i naturen, men den netværksbaserede angrebsflade og fraværet af alle adgangsbarrierer gør sårbarheden ekstremt attraktiv for angribere.

Hvad gør jeg nu?

Gennemfør følgende trin i prioriteret rækkefølge:

  1. Opdatér vm2 til version 3.11.8 ved at køre npm install vm2@3.11.8 i jeres projekter og geninstallér afhængigheder i produktionsmiljøet.
  2. Søg i jeres kodebase og package-lock.json eller yarn.lock efter direkte og indirekte afhængigheder af vm2, så ingen instanser overses.
  3. Genstart alle Node.js-processer, der bruger vm2, så den opdaterede kode træder i kraft.
  4. Begræns midlertidigt adgangen til de endepunkter, der modtager brugerstyret kode til vm2-kørsel, hvis I ikke kan opdatere med det samme.
  5. Gennemgå logfiler fra de seneste 30 dage for usædvanlig adfærd i sandkassekørsler, særligt kode der forsøger at manipulere prototyper.
  6. Kontakt os eller en anden ekstern rådgiver, hvis I er usikre på, om I er ramt, eller hvis jeres applikation ikke kan opdateres uden større ændringer.
Tidsfrist

Opdatér inden for 24 timer

Sådan ser Auroa det

Vi anbefaler, at I opdaterer vm2 til 3.11.8 som den første handling i dag, inden I gør andet. Sårbarheden har ingen adgangsbarrierer, og konsekvenserne rækker ud over selve sandkassen, så tidsvinduet for at handle, før nogen udnytter den, er kort. Har I ikke ressourcerne til at gennemgå alle afhængigheder selv, hjælper vi med en hurtig scanning af jeres Node.js-projekter. Det er acceptabelt at vente til næste arbejdsdag kun, hvis I allerede har isoleret de berørte endepunkter fra offentlig adgang.

Tidslinje

17/09/2026
CVE offentliggjort
NVD offentliggjorde CVE-2026-92953 med en CVSS-score på 10,0. Fejlen berører vm2 version 3.11.0 til og med 3.11.7.

Konkrete eksempler

Scripting-funktion i forretningssystem

En dansk softwarevirksomhed tilbyder sine kunder mulighed for at skrive egne JavaScript-regler, der kører i en vm2-sandkasse på serveren. En angriber med adgang til denne funktion sender kode, der ændrer prototype-skabelonerne for arrays. Efterfølgende beregninger i systemet, herunder fakturabeløb og lageroptælling, returnerer forkerte værdier, og fejlen opdages først efter flere timers drift og dataskade.

Ofte stillede spørgsmål

CVSS-detaljer

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

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

CWE-svaghedstyper

CWE-913

Original NVD-beskrivelse (engelsk)

vm2 versions from 3.11.0 before 3.11.8 fail to protect host TypedArray and ArrayBuffer prototypes from sandbox mutation. Attackers can use prototype-walking primitives to reach and modify host Uint8Array.prototype, %TypedArray%.prototype, and ArrayBuffer.prototype, causing host-created typed arrays to observe attacker-controlled properties after VM.run() returns.

Referencer & kilder

Eksterne kilder

Sværhedsgrad
Kritisk
CVSS Base Score
10
Hurtige fakta
CVE-ID
CVE-2026-92953
Offentliggjort
17/09/2026
Sidst opdateret
17/09/2026
Exploit-status
Angrebskode er offentlig
Patch-status
Opdatering findes

Brug for hjælp med jeres sikkerhed?

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