CVE-2026-55201: Path traversal-fejl i Evil-WinRM
En sårbarhed i Evil-WinRM (CVE-2026-55201) lader en ondsindet Windows-server skrive filer uden for download-mappen på klienten. Opdatér til rettet udgave før næste test.
Hvad er det?
Evil-WinRM er et open source-værktøj, som sikkerhedsfolk og systemadministratorer bruger til at oprette en shell, altså en kommandolinje-forbindelse, mod Windows-servere over protokollen WinRM. CVE-2026-55201 er en path traversal-sårbarhed. Path traversal betyder, at et filnavn indeholder tegn som ../, der får programmet til at gemme en fil et andet sted end tilsigtet. Fejlen sidder i funktionen download_dir(), som henter filnavne fra kommandoen Get-ChildItem på den fjerne server og bruger dem direkte til at bygge filstier på klientmaskinen. En ondsindet eller kompromitteret Windows-server kan derfor sende filnavne med traversal-tegn og få Evil-WinRM til at skrive filer uden for download-mappen på den maskine, hvor værktøjet køres.
Hvem rammer det?
Sårbarheden rammer organisationer, der bruger Evil-WinRM version 3.9 og ældre til at teste eller administrere Windows-servere over WinRM. Det gælder primært IT-sikkerhedsafdelinger, interne red teams og eksterne konsulentvirksomheder, der udfører penetrationstest eller sårbarhedsscanninger af kunders Windows-miljøer. Rettelsen ligger i commit 6ecd570, så alle installationer uden denne rettelse er sårbare.
Hvad kan ske?
Hvis en tester bruger download_dir() til at hente filer fra en server, der er kontrolleret af en angriber, eller som allerede er kompromitteret af en tidligere angriber, kan serveren returnere filnavne, der peger uden for download-mappen. Det kan bruges til at overskrive filer som SSH authorized_keys eller shell-konfigurationsfiler på testerens egen maskine. Dermed kan angriberen få varig adgang til testerens computer eller opnå højere rettigheder der, i stedet for kun at ramme det system, der oprindeligt blev testet.
Hvor alvorligt er det?
CVSS-scoren er 6,8 ud af 10, moderat risiko. Angrebet kræver ikke login (PR:NONE), men det kræver en brugerhandling: testeren skal selv køre download_dir() mod den ondsindede server (UI:REQUIRED). Angrebskompleksiteten er høj (AC:HIGH), fordi angriberen skal kunne styre eller manipulere den fjerne servers filliste for at ramme rigtigt. Konsekvensen ved succes er alvorlig: fuld fortrolighed og integritet på klientens filer (C:HIGH, I:HIGH), men ingen påvirkning af tilgængelighed (A:NONE). Der er ikke kendte tilfælde af aktiv udnyttelse.
Hvad gør jeg nu?
Sådan lukker I hullet og begrænser risikoen ved brug af Evil-WinRM:
- Opdatér Evil-WinRM til en udgave, der indeholder rettelsen fra commit 6ecd570, eller den nyeste udgave fra GitHub.
- Undgå at bruge download_dir() mod servere, I ikke har fuld tillid til, herunder ukendte eller nyligt overtagne systemer under en test.
- Gennemgå hjemmemapper på testmaskiner for uventede ændringer, særligt ~/.ssh/authorized_keys og shell-konfigurationsfiler, hvis download_dir() er brugt mod en server, der senere viste sig kompromitteret.
- Sørg for, at Evil-WinRM opdateres centralt og ikke ligger i forskellige, forældede versioner hos konsulenter eller på interne testmaskiner.
- Log og gennemgå, hvilke servere download_dir() er kørt mod, så I kan spore eventuelle uregelmæssigheder bagud.
- Kontakt ekstern hjælp, hvis I har brugt download_dir() mod en server, der efterfølgende er bekræftet kompromitteret, og I er i tvivl om, hvad der er blevet ændret på testmaskinen.
Opdatér før næste test mod ukendte servere
Vi anbefaler at opdatere Evil-WinRM til den rettede udgave, især hos teams der udfører test mod eksterne eller ukendte Windows-miljøer. Det er i orden at vente til næste opdateringsvindue, hvis I ikke aktivt bruger download_dir() mod servere uden for jeres kontrol. Bruger I værktøjet regelmæssigt i pentest-arbejde, bør opdateringen dog ske inden næste opgave.
Tidslinje
Konkrete eksempler
Kompromitteret kundeserver rammer konsulentens egen maskine
En sikkerhedskonsulent fra et dansk konsulenthus udfører en autoriseret test af en kundes Windows-server via Evil-WinRM. Serveren viser sig at være kompromitteret af en tidligere, ukendt angriber. Da konsulenten bruger download_dir() til at hente logfiler til analyse, returnerer serveren manipulerede filnavne, der overskriver konsulentens egen ~/.ssh/authorized_keys. Angriberen får dermed adgang til konsulentens laptop og potentielt videre ind i konsulenthusets netværk.
Ofte stillede spørgsmål
Er vi ramt af denne sårbarhed?
I er ramt, hvis jeres organisation bruger Evil-WinRM version 3.9 eller ældre til at administrere eller teste Windows-servere via WinRM. Bruger I ikke værktøjet, er I ikke berørt.
Hvordan tjekker vi, hvilken version af Evil-WinRM vi bruger?
Kør evil-winrm –version i terminalen, eller tjek installationskilden, hvis værktøjet er installeret via gem eller hentet fra GitHub. Sammenlign med commit-historikken for at se, om commit 6ecd570 er inkluderet.
Kan vi vente til vores næste sikkerhedstest med at opdatere?
Ja, hvis I ikke i mellemtiden skal bruge download_dir() mod servere, I ikke fuldt stoler på. Skal I ud og teste ukendte eller kunde-ejede systemer, bør opdateringen ske først.
Hvad er path traversal?
Path traversal er en fejltype, hvor et program ikke kontrollerer, om et filnavn indeholder tegn som ../, der kan flytte en fil uden for den mappe, den skulle ligge i. Det gør det muligt at skrive filer på steder, programmet ikke havde til hensigt.
Skal vi anmelde dette til Datatilsynet?
Kun hvis sårbarheden faktisk er blevet udnyttet hos jer, og det har ført til uautoriseret adgang til personoplysninger. Selve tilstedeværelsen af sårbarheden i et internt testværktøj udløser ikke i sig selv en anmeldelsespligt.
Hvem bruger typisk Evil-WinRM?
Værktøjet bruges primært af penetrationstestere, red teams og sikkerhedskonsulenter til at få kommandolinjeadgang til Windows-servere under autoriserede sikkerhedstest, samt af nogle systemadministratorer til fjernadministration.
CVSS-detaljer
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
CWE-svaghedstyper
Original NVD-beskrivelse (engelsk)
Evil-WinRM through 3.9, fixed in commit 6ecd570, contains a path traversal vulnerability in the download_dir() function that allows a rogue or compromised remote Windows server to write files outside the intended download directory by returning filenames with traversal sequences from Get-ChildItem command output that are passed unsanitized to File.join(). Attackers controlling the remote server can exploit this to overwrite sensitive client-side files such as SSH authorized_keys or shell configuration files, achieving persistent access or privilege escalation on the client machine.
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.