CVE-2026-74872: Kritisk fejl i Python-pakken openssl_encrypt
Kritisk sikkerhedshul i Python-pakken openssl_encrypt (CVE-2026-74872) tillader kode-udførelse. Opdatér til 1.4.0 eller nyere nu.
Hvad er det?
CVE-2026-74872 er en sårbarhed i den Python-baserede pakke openssl_encrypt, i alle versioner før 1.4.0. Fejlen findes i implementeringen af Whirlpool-hashfunktionen, som er en metode til at omdanne data til en unik kontrolsum. Pakken bruger et bredt søgemønster (glob pattern) til at finde og indlæse .so-filer, som er kompilerede programmoduler til Python, uden at kontrollere om filerne er ægte. En angriber, der kan placere en fil med et navn som whirlpool*py313*.so i pakkens installationsmappe, får sit eget skadelige modul indlæst og kørt automatisk. Fejltypen kaldes CWE-426, utroværdig søgesti, og betyder i praksis, at systemet stoler på filer, det ikke har verificeret.
Hvem rammer det?
Det rammer virksomheder, der har Python-applikationer, som bruger biblioteket openssl_encrypt i en version før 1.4.0, særligt hvis applikationen anvender Whirlpool-hashfunktionen og kører på Python 3.13. Det kan være interne værktøjer, integrationer eller kundeløsninger udviklet af jeres eget team eller en ekstern leverandør. Er I i tvivl om, hvilke systemer der bruger pakken, bør I bede jeres udviklere eller leverandør om en oversigt over Python-afhængigheder.
Hvad kan ske?
Kan en angriber placere den rette .so-fil i systemets site-packages-mappe, hvor Python-pakker ligger installeret, kan de få vilkårlig kode til at køre med de rettigheder, applikationen har. I praksis betyder det, at angriberen kan overtage serveren, læse eller ændre data, installere yderligere skadelig software eller bruge systemet som springbræt til resten af netværket.
Hvor alvorligt er det?
CVSS-scoren er 9,8 ud af 10, hvilket er kritisk. Angrebet kræver ikke login og ingen handling fra en bruger. Alle tre grundpiller for sikkerhed, fortrolighed, integritet og tilgængelighed, kan blive kompromitteret fuldt ud. Der er ikke oplysninger om, at sårbarheden er udnyttet i praksis på offentliggørelsesdatoen, men den lave kompleksitet og fraværet af krav til rettigheder betyder, at et angreb er teknisk enkelt at udføre, når adgangen til at placere filen er til stede.
Hvad gør jeg nu?
Følgende trin lukker sårbarheden og begrænser skaden, hvis den allerede er udnyttet.
- Opdatér openssl_encrypt til version 1.4.0 eller nyere i alle systemer, hvor pakken er installeret.
- Gennemgå site-packages-mapperne for uventede eller nyligt tilføjede .so-filer, særligt filer der matcher mønsteret whirlpool*py313*.so.
- Begræns skriverettigheder til Python-installationens site-packages-mappe, så kun betroede processer kan tilføje filer der.
- Kortlæg hvilke af jeres applikationer der reelt bruger openssl_encrypt, og prioritér de systemer, der er tilgængelige fra internettet eller behandler personoplysninger.
- Overvåg logfiler for uventet processtart eller netværkstrafik fra Python-processer i perioden efter offentliggørelsen.
- Kontakt en sikkerhedsrådgiver, hvis I ikke selv kan fastlægge, hvilke systemer der er ramt, eller hvis I finder tegn på, at sårbarheden allerede er udnyttet.
Opdatér inden for 48 timer
Vi anbefaler, at I opdaterer openssl_encrypt til version 1.4.0 eller nyere så hurtigt som muligt, og at I samtidig tjekker for uautoriserede .so-filer i jeres Python-miljøer. Det er kun forsvarligt at vente, hvis I med sikkerhed kan dokumentere, at ingen af jeres systemer bruger pakkens Whirlpool-funktion, og at ingen ekstern part har skriveadgang til serverens filsystem. Er I i tvivl, bør opdateringen ske uden yderligere afklaring.
Tidslinje
Konkrete eksempler
Kompromitteret filbehandlingsserver hos en dansk SMV
En dansk virksomhed bruger en Python-baseret applikation til at kryptere kundefiler, og applikationen anvender openssl_encrypt til hashberegning. En angriber, der har fået begrænset adgang til serveren gennem en anden sårbarhed, placerer en skadelig .so-fil i site-packages-mappen. Næste gang applikationen genstartes eller Whirlpool-funktionen kaldes, kører angriberens kode med applikationens rettigheder, og angriberen får fuld kontrol over serveren og adgang til kundedata.
Ofte stillede spørgsmål
Hvordan finder vi ud af, om vi bruger openssl_encrypt?
Bed jeres udviklere eller leverandør om en liste over Python-afhængigheder, eller kør en søgning efter ‘openssl_encrypt’ i jeres kodebaser og pakkefiler. Bruger I Python-værktøjer som pip, kan kommandoen pip show openssl_encrypt afklare, om og hvilken version der er installeret.
Kan vi vente til weekenden med at opdatere?
Det kan I, hvis systemet ikke er tilgængeligt fra internettet og ingen eksterne parter har skriveadgang til serveren. Er systemet offentligt tilgængeligt eller deler infrastruktur med andre kunder eller brugere, bør opdateringen ske inden for de næste 48 timer.
Er vi ramt, hvis vi ikke bruger Whirlpool-hashfunktionen?
Selve sårbarheden ligger i den kode, der indlæser .so-filer til Whirlpool-funktionen. Bruger jeres applikation ikke denne funktion, er risikoen lavere, men vi anbefaler stadig at opdatere, da fejlen kan udløses, hvis funktionen kaldes indirekte af andre dele af koden.
Skal vi anmelde noget, hvis vi bliver kompromitteret?
Fører et angreb til brud på persondata, skal I anmelde det til Datatilsynet inden 72 timer, jævnfør databeskyttelsesreglerne. Vi anbefaler at dokumentere jeres undersøgelse og eventuelle fund, så en anmeldelse kan udarbejdes hurtigt, hvis det bliver nødvendigt.
Hvordan tjekker vi, om vi allerede er blevet angrebet?
Gennemgå site-packages-mapperne for filer, der matcher mønsteret whirlpool*py313*.so, og se på filernes ændringsdato og oprindelse. Har I logovervågning, bør I kigge efter uventet processtart eller netværksforbindelser fra Python-processer omkring de tidspunkter, hvor filerne kan være placeret.
Påvirker opdateringen vores eksisterende systemer?
En opdatering af en biblioteksversion kan i sjældne tilfælde ændre funktionalitet. Vi anbefaler at teste opdateringen i et testmiljø, hvis muligt, men prioritere hastighed over grundig test, givet sårbarhedens alvorlighed.
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)
openssl_encrypt versions before 1.4.0 contain an arbitrary code execution vulnerability in the Whirlpool hash implementation that uses broad glob patterns to load .so modules without integrity verification. Attackers can place malicious .so files matching the whirlpool*py313*.so pattern in site-packages directories to achieve native code execution when the module is loaded.
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.