CVE-2026-79675: Kritisk sårbarhed i NLTK – opdater nu
Sårbarhed i NLTK (Python-bibliotek) lader angribere køre vilkårlig kode via manipulerede JVM-indstillinger – opdater til version 3.10.3 nu.
Hvad er det?
NLTK er et populært Python-bibliotek til behandling af naturligt sprog (tekstanalyse, sprogforståelse m.m.). I versioner før 3.10.3 validerer NLTK ikke de JVM-indstillinger (indstillinger til Javas virtuelle maskine), som kan sendes med ved visse funktionskald. Det betyder, at en angriber kan smugle farlige kommandoer ind via disse indstillinger og få systemet til at udføre kode efter eget valg. Fejlen er kategoriseret som en argument injection-sårbarhed (CWE-88), hvilket vil sige, at angriberen misbruger et program ved at injicere uventede parametre i et kommandokald.
Hvem rammer det?
Sårbarheden rammer virksomheder og udviklere, der bruger NLTK i Python-applikationer – særligt dem, der anvender NLTK’s Stanford-integrationer til sproganalyse. Det kan eksempelvis dreje sig om:
- Virksomheder med chatbots, søgefunktioner eller dokumentanalyse bygget i Python
- Udviklingsteams der bruger NLTK i interne databehandlingsværktøjer
- Hosting-miljøer hvor NLTK-baserede applikationer er tilgængelige via netværket
Hvis din virksomhed ikke selv udvikler software, men benytter et eksternt system, der bruger NLTK, bør du kontakte din leverandør og spørge, om de er opdaterede.
Hvad kan ske?
En angriber, der udnytter sårbarheden, kan opnå fuld kontrol over det system, der kører NLTK-applikationen. I praksis betyder det:
- Fortrolighed (C=HØJ): Angriberen kan læse alle filer og data på serveren – herunder kundedata, adgangskoder og interne dokumenter.
- Integritet (I=HØJ): Angriberen kan ændre, slette eller plante data og filer på systemet.
- Tilgængelighed (A=HØJ): Angriberen kan lukke systemet ned eller gøre det utilgængeligt for brugerne.
Angrebet kræver ingen login, ingen særlige rettigheder og ingen handling fra din sides – det kan ske fuldautomatisk over internettet.
Hvor alvorligt er det?
Sårbarheden er vurderet kritisk med en CVSS-score på 9,8 ud af 10. Det er den højest mulige risikoklasse. Kombinationen af følgende faktorer gør den særlig farlig:
- Angrebet kan udføres over netværket uden at angriberen er logget ind
- Det kræver ingen brugerinteraktion (ingen medarbejder behøver klikke på noget)
- Angrebets kompleksitet er lav – det er ikke svært at udnytte for en erfaren angriber
- Konsekvensen rammer alle tre grundpiller: fortrolighed, integritet og tilgængelighed
Hvad gør jeg nu?
Handl hurtigt. Her er hvad du konkret skal gøre:
- Find ud af om du bruger NLTK: Spørg din IT-ansvarlige eller leverandør, om jeres systemer bruger Python-biblioteket NLTK – og i givet fald hvilken version.
- Opdater til NLTK 3.10.3 eller nyere: Opdateringen kan typisk foretages med kommandoen
pip install --upgrade nltki jeres Python-miljø. Bed din IT-ansvarlige om at gøre dette straks. - Genstart berørte applikationer: Efter opdateringen skal de applikationer, der bruger NLTK, genstartes for at ændringen træder i kraft.
- Kontakt din leverandør hvis relevant: Bruger I et eksternt system, der anvender NLTK, skal du bede leverandøren bekræfte, at de har opdateret.
- Overvåg for mistænkelig aktivitet: Tjek om der har været usædvanlig aktivitet på serverne i den seneste periode – særligt ukendte processer eller filændringer.
Opdater inden for 24-48 timer
Vi anbefaler, at du behandler denne sårbarhed som akut og opdaterer NLTK til version 3.10.3 eller nyere inden for de næste 24-48 timer. Kritiske sårbarheder med denne profil – ingen login krævet, lav kompleksitet, fuld systemkontrol – tiltrækker hurtigt automatiserede angreb. Hvis du er usikker på om din virksomhed er berørt, er du velkommen til at kontakte os for en hurtig vurdering.
Tidslinje
Konkrete eksempler
Angriber overtager server via tekstanalyse-API
En virksomhed har bygget en intern tekstanalyse-tjeneste, der bruger NLTK’s Stanford-integration til at kategorisere kundehenvendelser. En angriber sender et manipuleret API-kald, der indeholder en ondsindet JVM-indstilling (-agentpath) som parameter. NLTK videresender indstillingen uden validering, og angriberen opnår fuld adgang til serveren – inklusive alle kundedata gemt på systemet.
Ondsindet @argfile bruges til at køre bagdør
En angriber udnytter @argfile-mekanismen i JVM til at pege på en fil med skadelige kommandoer, som angriberen på forhånd har uploadet til serveren. Når NLTK kalder Java-processen, indlæses filen automatisk af JVM’en, og angribers bagdørsprogram (et program der giver vedvarende adgang) installeres på serveren uden at nogen bemærker det.
Automatiseret bot scanner og udnytter sårbare installationer
Efter offentliggørelsen af CVE-2026-79675 sætter en trusselsaktør en automatiseret bot op, der scanner internettet for kendte NLTK-endpoints. Virksomheder med ældre NLTK-versioner og internet-eksponerede applikationer rammes inden for timer – uden at nogen medarbejder har gjort noget forkert. Angriberen kan herefter kryptere data og kræve løsesum (ransomware-angreb).
Ofte stillede spørgsmål
Vi bruger ikke selv Python – er vi stadig i fare?
Muligvis. Mange systemer og webapplikationer er bygget oven på Python-biblioteker uden at virksomheden selv ved det. Spørg din IT-leverandør eller systemleverandør direkte, om de anvender NLTK i de løsninger, de drifter for jer. Kræv en skriftlig bekræftelse på, at de har opdateret.
Hvad er en JVM, og hvorfor er det et problem?
JVM står for Java Virtual Machine – det er det program, der kører Java-kode. NLTK kan kommunikere med visse Java-baserede sprogværktøjer (Stanford NLP). Problemet er, at NLTK ikke tjekker de indstillinger, der sendes videre til JVM’en. En angriber kan derfor snige farlige kommandoer ind via disse indstillinger og få serveren til at udføre dem.
Kan vi bare blokere angrebet med vores firewall?
En firewall kan reducere risikoen, men det er ikke en tilstrækkelig løsning i sig selv. Angrebsvektoren afhænger af, hvordan jeres NLTK-applikation er eksponeret. Den eneste sikre løsning er at opdatere NLTK til en patched version. Brug eventuelt firewallen som et midlertidigt lag mens opdateringen forberedes.
Hvordan ved jeg, hvilken version af NLTK vi har installeret?
Din IT-ansvarlige kan tjekke versionen ved at køre kommandoen
pip show nltki terminalen på den server, der kører applikationen. Står der en version lavere end 3.10.3, skal der opdateres med det samme.Er vi allerede blevet angrebet?
Det er svært at sige uden en konkret undersøgelse. Tegn på kompromittering kan være ukendte processer, uventede filændringer, usædvanlig netværkstrafik eller systemnedbrud. Hvis du har mistanke, bør du kontakte en cybersikkerhedsekspert for en hurtig gennemgang af dine systemlogs.
Ramte produkter
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)
NLTK before 3.10.3 fails to validate JVM options passed through the per-call options parameter in the java() function, allowing attackers to inject dangerous JVM flags. Attackers can supply malicious options like -agentpath, -javaagent, or @argfile to Stanford wrapper classes to achieve arbitrary code execution.
Brug for hjælp med jeres sikkerhed?
Vi hjælper SMV’er med at omsætte trusler som denne til konkrete handlingsplaner.
