CVE-2026-96759: Kritisk kodefejl i Orval før 8.29.0
Orval før version 8.29.0 sender ikke operationId-feltet korrekt igennem, så skadelig kode kan udføres. Opdatér til 8.29.0 eller nyere.
Hvad er det?
Orval er et udviklerværktøj, der automatisk genererer TypeScript-kode og TanStack Query hooks, altså færdige funktioner til at hente og opdatere data, ud fra en OpenAPI-specifikation. En OpenAPI-specifikation beskriver et API’s endepunkter og felter i et struktureret format. Fejlen i CVE-2026-96759 betyder, at orval ikke renser feltet operationId, før det skrives ind i den genererede kode. Har en OpenAPI-specifikation et manipuleret operationId, kan det indeholde JavaScript-kode, som bliver udført, når den genererede kode kaldes. Det er en kodeindsprøjtning, klassificeret som CWE-94.
Hvem rammer det?
Det rammer virksomheder, der bruger npm-pakken orval i version før 8.29.0 til at generere API-klienter fra OpenAPI-specifikationer. Særligt udsatte er teams, der genererer kode ud fra specifikationer fra eksterne parter, tredjeparts-API’er eller specifikationer, der hentes automatisk over netværket i en byggeproces eller CI/CD-pipeline.
Hvad kan ske?
Kommer en manipuleret OpenAPI-specifikation ind i byggeprocessen, kan den indeholde skadelig JavaScript-kode, der udføres på en udviklers maskine eller i en byggeserver, når den genererede kode bruges. Det kan give en angriber adgang til hemmeligheder som API-nøgler og adgangskoder i CI/CD-miljøet, eller mulighed for at plante bagdøre i den software, virksomheden senere udgiver til kunder.
Hvor alvorligt er det?
CVSS-scoren er 9,8 ud af 10, kritisk, fordi angrebet ikke kræver login og ingen brugerhandling, når først den skadelige specifikation er inde i byggeprocessen. I praksis kræver udnyttelse dog, at en angriber kan få sin manipulerede OpenAPI-specifikation ind som input til orval, for eksempel via en kompromitteret tredjeparts-API eller et manipuleret bidrag til en intern specifikation. Der er ikke rapporteret aktiv udnyttelse på offentliggørelsesdatoen.
Hvad gør jeg nu?
Følg punkterne i denne rækkefølge:
- Opdatér orval til version 8.29.0 eller nyere i alle projekter og byggepipelines.
- Gennemgå, hvilke OpenAPI-specifikationer der bruges som input til orval, særligt specifikationer fra eksterne eller tredjeparts kilder.
- Tjek CI/CD-pipelines for, om orval kører automatisk mod specifikationer hentet over netværket uden manuel kontrol.
- Kør en kodegennemgang af den seneste genererede kode for at se, om der er tegn på manipulerede operationId-felter.
- Kontakt Auroa, hvis I ikke kan afklare, hvor orval bruges i jeres kodebase, eller hvis I finder tegn på misbrug.
Opdatér i næste udviklingssprint
Vi anbefaler, at I opdaterer orval til 8.29.0 eller nyere som en del af jeres normale afhængighedsopdatering, og at I samtidig kortlægger, hvilke OpenAPI-specifikationer der fødes ind i jeres byggeprocesser. Bruger I kun interne, betroede specifikationer, kan opdateringen vente til næste planlagte sprint. Henter I specifikationer fra eksterne parter eller automatisk over netværket, bør opdateringen prioriteres højere.
Tidslinje
Konkrete eksempler
Manipuleret partnerspecifikation i byggepipeline
En dansk softwarevirksomhed henter automatisk en OpenAPI-specifikation fra en samarbejdspartners API som led i deres byggeproces. Partnerens system bliver kompromitteret, og en angriber indsætter skadelig JavaScript-kode i et operationId-felt i specifikationen. Når virksomhedens CI/CD-pipeline kører orval og bygger den genererede kode, udføres koden og forsøger at læse API-nøgler fra byggeserverens miljøvariabler.
Ofte stillede spørgsmål
Er vi ramt af CVE-2026-96759?
I er ramt, hvis I bruger npm-pakken orval i en version før 8.29.0 til at generere API-klienter eller TanStack Query hooks ud fra OpenAPI-specifikationer.
Hvordan tjekker vi, om vi bruger orval?
Søg efter ‘orval’ i package.json-filer og lockfiler i jeres repositories, og tjek versionsnummeret. Er versionen under 8.29.0, er I påvirket.
Kan vi vente til weekenden med at opdatere?
Ja, hvis I kun bruger interne og betroede OpenAPI-specifikationer. Bruger I eksterne eller automatisk hentede specifikationer, bør I opdatere før næste byggekørsel.
Kræver det brugerinteraktion at blive udnyttet?
Nej. Når en manipuleret specifikation er inde i byggeprocessen, udføres koden automatisk, når den genererede funktion kaldes.
Skal vi anmelde dette til Datatilsynet?
Kun hvis I finder tegn på, at hemmeligheder eller persondata faktisk er blevet kompromitteret som følge af udnyttelse. Selve sårbarheden udløser ikke i sig selv en anmeldepligt.
Rammer dette vores produktionsapplikation direkte?
Nej, orval er et udviklerværktøj, der bruges i byggefasen. Risikoen ligger i udviklermiljøet og CI/CD-pipelinen, men skadelig kode kan i værste fald ende i den udgivne software.
CVSS-detaljer
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWE-svaghedstyper
Original NVD-beskrivelse (engelsk)
orval before 8.29.0 fails to escape the operationId parameter when emitting it into generated TanStack Query mutator options metadata objects. Attackers can inject arbitrary JavaScript code through a crafted operationId in an OpenAPI specification that executes when generated hooks are called.
Referencer & kilder
Eksterne kilder
Brug for hjælp med jeres sikkerhed?
Vi hjælper SMV’er med at omsætte trusler som denne til konkrete handlingsplaner.