CVE-2026-58455: Kritisk fejl i Dockwatch
Kritisk sårbarhed i Dockwatch (CVE-2026-58455) giver angribere uden login fuld kontrol over serveren. Luk adgangen til systemet i dag.
Hvad er det?
CVE-2026-58455 er en sårbarhed i styringsværktøjet Dockwatch, som bruges til at overvåge og administrere Docker-containere. Fejlen skyldes kommandoinjektion, hvor et program videresender brugerinput direkte til systemets kommandolinje uden at rense det først. I Dockwatch mangler filen loader.php et afsluttende exit()-kald efter en login-omdirigering, hvilket gør det muligt at snyde systemet til at tro, man er logget ind. Derefter kan man via parameteren composePath i funktionen ajax/compose.php sende vilkårlige shell-kommandoer, som serveren udfører. Da Dockwatch typisk får adgang til Dockers styresystem-sokkel for at kunne administrere containere, kan en angriber bruge denne adgang til at overtage hele værtsserveren, ikke kun containerne.
Hvem rammer det?
Sårbarheden rammer alle installationer af Dockwatch til og med version 0.6.567. Det gælder virksomheder og it-afdelinger, der bruger Dockwatch som dashboard til at overvåge Docker-drift, ofte udviklingsteams, hostingudbydere og virksomheder med egen serverdrift. Er Dockwatch tilgængeligt fra internettet, eller kan det tilgås fra et internt netværk, hvor en angriber allerede har fodfæste, er systemet i farezonen.
Hvad kan ske?
En angriber uden brugernavn og adgangskode kan sende en enkelt forespørgsel og få serveren til at udføre vilkårlige kommandoer. Fordi Dockwatch normalt har adgang til Dockers styresystem-sokkel, kan angriberen bruge den adgang til at bryde ud af containeren og overtage selve serveren. I praksis betyder det, at angriberen kan installere skadelig software, stjæle data fra andre systemer på samme server, eller bruge serveren som springbræt videre ind i virksomhedens netværk.
Hvor alvorligt er det?
CVSS-scoren er 9,8 ud af 10, hvilket er den højeste alvorlighedsgrad. Angrebet kræver ikke login, ingen brugerhandling og kan udføres over netværket med lav teknisk kompleksitet. Konsekvensen rammer fortrolighed, integritet og tilgængelighed i højeste grad, altså fuld kontrol over data og system. Den offentliggjorte beskrivelse indeholder de konkrete parametre og trin, der skal til for at udnytte fejlen, hvilket gør det enkelt for en angriber at omsætte til et fungerende angreb.
Hvad gør jeg nu?
Følg punkterne i rækkefølge, da det første lukker selve hullet.
- Fjern Dockwatch fra internettet med det samme, eller spær adgangen med en firewall, så kun betroede ip-adresser kan nå systemet.
- Gennemgå logfiler for kald til ajax/compose.php og parameteren composePath for at afgøre, om systemet allerede er blevet udnyttet.
- Er der tegn på misbrug, isolér serveren fra netværket, skift alle adgangskoder og nøgler, der har været tilgængelige fra serveren, og undersøg om Docker-soklen er blevet brugt til at tilgå værtsmaskinen.
- Opdatér til en nyere version af Dockwatch, når en rettelse foreligger. Findes der ingen rettelse endnu, bør Dockwatch tages permanent ud af drift eller erstattes, indtil en sikker version findes.
- Undgå fremover at montere Dockers styresystem-sokkel direkte i værktøjer, der er tilgængelige fra netværket, medmindre det er strengt nødvendigt.
- Er I i tvivl om, hvorvidt systemet allerede er kompromitteret, eller mangler I kapacitet til at gennemføre undersøgelsen, bør I hente ekstern hjælp til logningsanalyse og oprydning.
Luk adgangen inden for 24 timer
Vi anbefaler, at Dockwatch straks tages ud af direkte internetadgang, og at logfiler gennemgås for tegn på udnyttelse. Vent ikke med denne handling, da sårbarheden kan udnyttes uden login og med enkle midler. Det er kun i orden at vente, hvis Dockwatch allerede er isoleret fra internettet og kun tilgængeligt fra et stærkt begrænset internt netværk uden mistænkelig aktivitet.
Tidslinje
Konkrete eksempler
Overvågningsserver bliver indgang til hele netværket
En dansk it-virksomhed har installeret Dockwatch på en server for at overvåge sine Docker-containere, og adgangen er ved en fejl tilgængelig fra internettet. En angriber finder systemet, sender en forespørgsel med den manipulerede composePath-parameter, og får dermed kommandoadgang til serveren. Fordi Docker-soklen er monteret, kan angriberen bryde ud af containeren, tilgå værtsserveren og derfra sprede sig videre til virksomhedens interne netværk.
Ofte stillede spørgsmål
Er vi ramt af denne sårbarhed?
I er ramt, hvis I bruger Dockwatch i version 0.6.567 eller tidligere, og systemet kan tilgås fra internettet eller fra et netværk, som ikke er fuldt tillidsbaseret. Tjek jeres installerede version og netværksopsætning for at afklare det.
Hvordan tjekker vi, om vi allerede er blevet angrebet?
Gennemgå webserverens logfiler for forespørgsler til ajax/compose.php, særligt med parameteren composePath. Se også efter uventede processer eller nye brugere på serveren, samt uventet aktivitet i Docker-containere.
Kan vi vente til weekenden med at reagere?
Nej. Fejlen kan udnyttes uden login og uden brugerinteraktion, så et automatiseret angreb kan ramme systemet, før I får reageret. Spær adgangen nu, og gennemfør resten af tjekket, når I har tid.
Findes der en officiel rettelse?
Der er ikke oplyst en fast version med rettelse på offentliggørelsestidspunktet. Indtil en rettelse foreligger, bør Dockwatch isoleres fra netværket eller erstattes af et alternativt værktøj.
Skal vi anmelde hændelsen, hvis vi er blevet kompromitteret?
Er persondata eller kritiske systemer blevet berørt, kan I være forpligtet til at anmelde det til Datatilsynet inden for 72 timer efter reglerne om databeskyrelse. Er I i tvivl, bør I søge juridisk og teknisk rådgivning hurtigst muligt.
Er det nok kun at spærre porten, hvor Dockwatch kører?
Det lukker den mest oplagte angrebsvej, men er ikke en permanent løsning. Sårbarheden ligger i selve koden, så den bør udbedres eller værktøjet udskiftes, når det er muligt.
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)
Dockwatch through 0.6.567 contains an unauthenticated OS command injection vulnerability that allows remote attackers to execute arbitrary shell commands by exploiting a missing exit() after an authentication redirect in loader.php combined with unsanitized input passed to shell_exec() in ajax/compose.php. Attackers can seed the required session flag through the incomplete auth check, then inject arbitrary commands via the composePath POST parameter in the composePull action to achieve full host compromise, facilitated by the standard deployment mounting of the Docker socket.
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.