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

CVE-2026-85394: Kritisk fejl i python-jose (JWT)

Fejl i python-jose gør det muligt at forfalske login-tokens uden kodeord. Lås algoritme i koden nu.

CVSS Score
9.1
Offentliggjort
03/09/2026
Patch-status
Midlertidig løsning
Exploit
Angrebskode er offentlig
Tidsfrist
Ret koden inden for få dage

Hvad er det?

python-jose er et Python-bibliotek, der bruges til at oprette og kontrollere JWT-tokens (JSON Web Token, en digital adgangsbillet der bekræfter, at en bruger er logget ind). CVE-2026-85394 betyder, at biblioteket ikke kontrollerer korrekt, om en nøgle er en asymmetrisk offentlig nøgle eller en symmetrisk hemmelig nøgle, når det validerer signaturen med HMAC (en metode til at lave en kontrolkode med en delt hemmelig nøgle). En angriber, der kender systemets offentlige nøgle, kan derfor lave sit eget token med HS256-algoritmen og få det godkendt, som var det udstedt af systemet selv. Fejlen er en ufuldstændig reparation af en tidligere sårbarhed, CVE-2024-33663.

Hvem rammer det?

Virksomheder og kommuner, der har udviklet egne Python-applikationer med login, API-adgang eller single sign-on, og som bruger python-jose til at verificere JWT-tokens. Alle versioner til og med 3.5.0 er ramt. Risikoen er størst, hvis koden ikke selv angiver, hvilken algoritme der skal accepteres ved verificering.

Hvad kan ske?

En angriber, der har fået adgang til systemets offentlige nøgle, ofte tilgængelig via et JWKS-endpoint eller anden offentlig kilde, kan forfalske et gyldigt login-token og udgive sig for en hvilken som helst bruger, inklusive administratorer. Det giver adgang til data og funktioner uden at kende et kodeord, og angriberen kan i praksis omgå hele login-systemet.

Hvor alvorligt er det?

CVSS 9,1 af 10, kritisk. Angrebet kræver ikke login og ingen handling fra en bruger, og det kan udføres over netværket. Konsekvensen er fuld kompromittering af fortrolighed og integritet, mens tilgængeligheden ikke påvirkes. Der er ikke rapporteret aktiv udnyttelse på offentliggørelsesdatoen, men teknikken med algoritme-forveksling i JWT-verificering er velkendt og dokumenteret.

Hvad gør jeg nu?

Det vigtigste er at rette koden, så den kun accepterer den forventede algoritme. Gør følgende i prioriteret rækkefølge:

  1. Gennemgå al kode, der bruger python-jose til at verificere tokens, og angiv altid algoritme explicit, fx algorithms=[“RS256”], så biblioteket ikke selv vælger algoritme baseret på tokenet.
  2. Kontrollér, at der ikke findes steder i koden, hvor både RS256 og HS256 accepteres samtidig i den samme verificeringsfunktion.
  3. Opdatér python-jose til den nyeste udgivne version, når en rettet version foreligger, og test login-flowet efter opdateringen.
  4. Roter jeres signeringsnøgler, hvis I finder tegn på, at den offentlige nøgle har været tilgængelig for uvedkommende, eller hvis I ser mistænkelige tokens i logs.
  5. Gennemgå logs for login og API-kald for usædvanlige eller uventede tokens i perioden op til rettelsen.
  6. Kontakt en sikkerhedsrådgiver, hvis I ikke selv har kompetencer til at gennemgå kildekoden eller vurdere jeres eksponering.
Tidsfrist

Ret koden inden for få dage

Sådan ser Auroa det

Vi anbefaler, at I gennemgår al kode, der bruger python-jose til at verificere JWT-tokens, og sikrer, at algoritme altid angives explicit, uanset om en rettet version af biblioteket er udgivet. Det er ikke forsvarligt at vente, hvis jeres system bruger asymmetrisk nøgle-baseret login uden algoritme-restriktion, fordi angrebet ikke kræver login eller brugerhandling. Har I allerede låst algoritmen i koden, kan I vente på en officiel opdatering af biblioteket.

Tidslinje

03/09/2026
CVE-2026-85394 offentliggjort
NVD beskriver fejlen som en ufuldstændig rettelse af den tidligere sårbarhed CVE-2024-33663 i python-jose.

Konkrete eksempler

Selvbetjeningsportal med Python-backend

En dansk kommune har en selvbetjeningsportal, hvor borgere logger ind via et Python-baseret API, der bruger python-jose til at udstede og verificere JWT-tokens. Den offentlige nøgle er tilgængelig via et standard JWKS-endpoint. En angriber henter nøglen, forfalsker et token som en administrator, og får adgang til borgerdata uden at have et gyldigt login.

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
NONE

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

CWE-svaghedstyper

CWE-347

Original NVD-beskrivelse (engelsk)

python-jose through 3.5.0 fails to properly validate asymmetric keys in HMAC initialization, accepting DER-encoded public keys that lack PEM armor or SSH prefixes. Attackers holding the service’s public key can forge HS256 tokens that pass verification when algorithms are not explicitly restricted. This is an incomplete fix for CVE-2024-33663.

Referencer & kilder

Eksterne kilder

Sværhedsgrad
Kritisk
CVSS Base Score
9,1
Hurtige fakta
CVE-ID
CVE-2026-85394
Offentliggjort
03/09/2026
Sidst opdateret
03/09/2026
Exploit-status
Angrebskode er offentlig
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.