CVE-2026-78683
Kritisk

CVE-2026-78683: Kritisk sårbarhed i NLTK 3.9.4

Kritisk sårbarhed i NLTK: Ondsindet modelfil kan give angribere fuld kontrol over din server.

CVSS Score
9.6
Offentliggjort
25/08/2026
Patch-status
available
Exploit
poc_public
Tidsfrist
Opdatér inden for 48 timer

Hvad er det?

NLTK (Natural Language Toolkit) er et populært Python-bibliotek til sproganalyse og AI-tekstbehandling. I versioner op til og med 3.9.4 indeholder biblioteket en farlig fejl i den måde, det indlæser modellfiler på.

Fejlen ligger i en metode kaldet TransitionParser.parse(), der bruger en teknologi kaldet pickle (Pythons eget format til at gemme og genindlæse data). Problemet er, at indlæsningen sker uden de nødvendige sikkerhedstjek — og det gør det muligt for en angriber at gemme skadelig kode inde i en modelfil. Når din applikation åbner filen, kører koden automatisk.

Hvem rammer det?

Sårbarheden rammer dig, hvis din virksomhed bruger Python-baserede applikationer eller AI-løsninger, der:

  • anvender NLTK-biblioteket i version 3.9.4 eller ældre,
  • indlæser maskinlæringsmodeller fra filer — f.eks. parsere til tekstanalyse, chatbots eller dokumentbehandling,
  • henter modelfiler fra eksterne kilder, brugere eller tredjeparter.

Det er typisk udviklere, datateams og virksomheder, der bruger NLP (Natural Language Processing, dvs. computerprogrammer der forstår menneskesprog) i deres produkter eller interne systemer.

Hvad kan ske?

Hvis en angriber udnytter fejlen, kan vedkommende få din server eller applikation til at udføre vilkårlig kode — dvs. præcis det kode, angriberen selv bestemmer. I praksis betyder det:

  • Datatyveri: Angriberen kan kopiere følsomme data, kunder- og medarbejderoplysninger.
  • Ransomware: Systemet kan krypteres og tages som gidsel.
  • Bagdør: Angriberen kan installere skjult adgang og vende tilbage, når det passer dem.
  • Sabotage: Tjenester og systemer kan lukkes ned eller manipuleres.

Angrebet kræver, at en bruger (eller et automatiseret system) åbner en ondsindet modelfil — men det er en lav barriere, da modelfiler ofte deles og hentes automatisk.

Hvor alvorligt er det?

Sårbarheden er vurderet til 9,6 ud af 10 (Kritisk) af det internationale sikkerhedssystem CVSS. Det er næsten det højeste, man kan få.

  • Netværksbaseret: Angrebet kan gennemføres over internettet — angriberen behøver ikke fysisk adgang.
  • Lav kompleksitet: Det kræver ikke avancerede færdigheder at udnytte fejlen.
  • Ingen særlige rettigheder nødvendige: Angriberen behøver ikke at være logget ind på dit system på forhånd.
  • Fuld konsekvens: Fortrolighed, integritet og tilgængelighed er alle fuldt kompromitterede (H/H/H).

Det eneste, der holder scoren fra den absolutte top, er, at angrebet kræver en brugerhandling — f.eks. at en fil åbnes.

Hvad gør jeg nu?

Hvis din virksomhed bruger NLTK, skal du handle hurtigt. Her er hvad du gør:

  1. Tjek om I bruger NLTK: Spørg din IT-ansvarlige eller udvikler om NLTK-biblioteket anvendes i jeres systemer eller applikationer.
  2. Find versionen: Hvis ja, find ud af hvilken version I kører. Er den 3.9.4 eller ældre, er I sårbare.
  3. Opdatér til version 3.10.0 eller nyere: Det gøres typisk med kommandoen pip install --upgrade nltk. Fejlen er rettet i version 3.10.0.
  4. Undgå utroværdige modelfiler: Indlæs ikke pickle-baserede modelfiler fra ukendte eller ubekræftede kilder, indtil opdateringen er på plads.
  5. Test efter opdatering: Sørg for at jeres applikationer stadig fungerer korrekt efter opdateringen.
  6. Kontakt os: Er du i tvivl om noget, er du velkommen til at kontakte Auroa for en vurdering af din eksponering.
Tidsfrist

Opdatér inden for 48 timer

Sådan ser Auroa det

Vi anbefaler, at du straks opdaterer NLTK til version 3.10.0. Opdateringen er tilgængelig nu og lukker hullet fuldstændigt. Begræns i mellemtiden indlæsning af modelfiler til kendte og verificerede kilder — og undlad at lade brugere uploade modelfiler til jeres systemer, hvis det kan undgås. Kontakt Auroa, hvis du er usikker på, om din løsning er eksponeret.

Tidslinje

25/08/2026
CVE offentliggjort
CVE-2026-78683 offentliggøres i National Vulnerability Database med en kritisk CVSS-score på 9,6. Sårbarheden beskrives som usikker pickle-deserialisering i NLTK op til version 3.9.4.
25/08/2026
Patch frigivet i NLTK 3.10.0
NLTK udgiver version 3.10.0, der lukker sårbarheden ved korrekt at anvende RestrictedUnpickler i de berørte produktionskodestier.
26/08/2026
Proof-of-concept tilgængeligt
Sikkerhedsforskere offentliggør tekniske detaljer og proof-of-concept-kode, der demonstrerer, hvordan en ondsindet pickle-fil kan udnytte sårbarheden til vilkårlig kodeudførelse.
27/08/2026
Øget udnyttelsesrisiko
Med offentlig PoC-kode tilgængelig stiger risikoen for aktiv udnyttelse markant. Organisationer med systemer der indlæser NLTK-modelfiler bør behandle dette som akut.

Konkrete eksempler

Ondsindet modelfil via e-mail eller fil-upload

En angriber opretter en tilsyneladende normal NLTK-parserfil og sender den til en virksomhed, der bruger NLTK til at analysere kundetekst. En medarbejder indlæser filen i applikationen — og i det øjeblik kører skjult kode, der giver angriberen fjernadgang til serveren. Angriberen kan nu frit bevæge sig rundt i systemet og stjæle data.

Kompromitteret modelrepository

En virksomhed henter automatisk sprogmodeller fra en tredjeparts model-database som del af deres AI-pipeline. Angriberen infiltrerer databasen og erstatter en legitim model med en ondsindet pickle-fil. Næste gang virksomhedens system automatisk opdaterer sine modeller, indlæses den ondsindede fil — og angrebet sker uden menneskelig indgriben.

Intern sabotage via delt netværksdrev

En ondsindet aktør — eller en medarbejder, der uvidende videresender en inficeret fil — placerer en manipuleret NLTK-modelfil på virksomhedens interne drev. Et automatiseret system, der jævnligt indlæser opdaterede modeller fra drevet, henter filen og eksekverer den skadelige kode. Resultatet kan være ransomware, datatyveri eller systemnedbrud.

Ofte stillede spørgsmål

Ramte produkter

CVSS-detaljer

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

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

CWE-svaghedstyper

CWE-502

Original NVD-beskrivelse (engelsk)

NLTK before 3.10.0 (affected versions <=3.9.4) contains an unsafe pickle deserialization vulnerability in the TransitionParser.parse() method (nltk/parse/transitionparser.py). The method calls pickle_load() with the default restricted=False, routing deserialization through WarningUnpickler, which does not override find_class() and therefore permits arbitrary class resolution. When an application loads an attacker-crafted model file, embedded pickle gadget chains execute arbitrary Python code with the privileges of the user running the application. NLTK provides a RestrictedUnpickler for safe deserialization, but it is not used by production code paths. Fixed in 3.10.0.

Referencer & kilder

Officielle advisories

Patches

Eksterne kilder

Sværhedsgrad
Kritisk
CVSS Base Score
9.6
Visning
Hurtige fakta
CVE-ID
CVE-2026-78683
Offentliggjort
25/08/2026
Sidst opdateret
25/08/2026
Exploit-status
poc_public
Patch-status
available
Tidsfrist
Opdatér inden for 48 timer

Brug for hjælp med jeres sikkerhed?

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