Kritieke fout in Docker-sandboxes zorgt ervoor dat kwaadaardige gastcode macOS-hostbestanden kan lezen en wijzigen

Schadelijke code die wordt uitgevoerd in een Docker-sandboxen virtuele machine op macOS zou kunnen ontsnappen uit de gedeelde projectmap en bestanden ergens anders op de host kunnen lezen of wijzigen, waarschuwt Docker in een beveiligingsaankondiging op 15 september.

De escape wordt uitgevoerd met de rechten van het hostaccount waarop de virtuele machine draait. De fout, CVE-2026-77179, is als kritiek beoordeeld en treft versies 0.28.0 tot en met 0.42.0 op macOS, en is op 7 september opgelost in 0.42.0.

Docker Sandboxes voert elke AI-codeeragent uit in zijn eigen kleine virtuele machine, waarbij de projectmap wordt gedeeld. De code die kan ontsnappen is alles wat in die machine draait, zoals een codeeragent die zich tegen de gebruiker heeft gekeerd, of iets kwaadaardigs dat de agent installeert en uitvoert.

Docker heeft geen melding gemaakt van enige exploitatie. CISA’s toegevoegde beoordeling van het CVE-record vermeldt dat er geen sprake is van uitbuiting, en de fout staat niet in CISA’s Known Exploited Vulnerabilities-catalogus vanaf de catalogusversie die op 16 september werd uitgebracht.

De fout heeft kwaadaardige code in de sandbox nodig, en het beschermen van de host tegen wat een agent uitvoert, is waar de sandbox voor is. De agent installeert pakketten en voert opdrachten uit met sudo binnen de virtuele machine, en de isolatiedocumentatie van Docker zegt dat de hypervisorgrens “de isolatiecontrole is, en niet de scheiding van privileges in de VM.”

De ontsnapping gaat via de virtiofs-hostserver, de hostkant van het delen van bestanden tussen de Mac en de virtuele machine, die volgde op symlinks toen een verwijderd bestand vanuit een opgeslagen pad opnieuw werd geopend, zei Docker.

Een gast, dat wil zeggen wat er binnen de virtuele machine draait, zou een bovenliggende map kunnen vervangen door een symlink en vervolgens bestanden kunnen lezen of wijzigen als de VMM-gebruiker, het hostaccount waaronder de monitor van de virtuele machine draait, zei Docker, “wat mogelijk kan leiden tot code-uitvoering op de host.”

In de documentatie van Docker staat sinds maart dat symlinks die buiten de werkruimte verwijzen, Dockers term voor de gedeelde projectmap, niet worden gevolgd.

In dezelfde release wordt een tweede fout opgelost, CVE-2026-79994, hoog beoordeeld door Docker met een CVSS-score van 8,7, in de relay waarmee een sandbox verbinding kan maken met Unix-domeinsockets binnen de geautoriseerde werkruimte.

Het relais controleerde of er zich een socketpad in de werkruimte bevond en maakte vervolgens opnieuw verbinding met behulp van de padnaam. Een gast die een map langs dat pad verving door een symlink tussen de controle en de verbinding, kon de host verbinding laten maken met elke AF_UNIX-socket buiten de werkruimte, zei Docker, “waardoor gegevens of host-side-mogelijkheden van die socket bloot komen te liggen.”

Deze fout treft versies 0.37.0 tot en met 0.41.9, maar niet 0.42.0. Docker vermeldt de eerste fout als alleen voor macOS, maar vermeldt er geen platform voor, terwijl Docker Sandboxes op macOS-, Windows- en Linux-hosts draait. Volgens de beoordeling van de CISA is er ook geen uitbuiting, en deze staat ook niet in de KEV-catalogus.

Betrokken versies en wat u moet installeren

CVE Onderdeel Betrokken versies Platform Docker-beoordeling
CVE-2026-77179 virtiofs hostserver 0,28,0 tot en met 0,42,0 maar niet inclusief macOS Kritiek, CVSS 9.4
CVE-2026-79994 Gast-naar-host Unix-socketrelais 0,37,0 tot en met 0,42,0 maar niet inclusief Geen vermeld Hoog, CVSS 8,7
  1. Update naar 0.42.0 of hoger. Vanaf 17 september is de meest recente release 0.43.0, gepubliceerd op 15 september.
  2. Als u nog niet kunt updaten, gebruik dan de kloonmodus en vermijd het toevoegen van lees-schrijf host-mounts. Dat is het advies van Docker voor beide tekortkomingen.

Standaard deelt sbx run de huidige map in de sandbox met lees- en schrijftoegang. De kloonmodus werkt alleen als het project een Git-repository is, en wordt ingesteld wanneer de sandbox wordt gemaakt, dus een bestaande sandbox moet worden verwijderd en opnieuw worden gemaakt met –clone.

De kloonmodus beschermt de repository tegen wijzigingen, niet tegen lezen. De repository is alleen-lezen aangekoppeld op /run/sandbox/source, en niet-bijgehouden bestanden zoals .env blijven leesbaar in de sandbox, aldus de documentatie van Docker.

Docker publiceerde de CVE-records en het advies op 15 september, acht dagen nadat 0.42.0 was verzonden.

In de release-opmerkingen van 0.42.0 op GitHub en op de documentatiesite van Docker wordt vanaf 17 september geen van beide CVE genoemd. Onder de routinematige oplossingen vermelden ze er één voor “een sandbox-proces zou ervoor kunnen zorgen dat de daemon een host D-Bus-transport opent en een willekeurig commando op de host uitvoert.” Docker heeft die oplossing niet aan beide CVE gekoppeld.

Het record voor CVE-2026-79994 vermeldde aanvankelijk 0.41.0 als de eerste vaste versie en was gekoppeld aan een 0.41.0-releasepagina die niet bestaat. Docker corrigeerde beide naar 0,42,0 ongeveer een uur na publicatie van het record op 15 september.

Docker dankt Oren Yomtov van voltooiing.ai voor het vinden van CVE-2026-77179 en Jurre van Bergen van ThreatNotify voor het vinden van CVE-2026-79994.

In april beschreef Cyera Research Labs hoe een codeeragent die prompt werd geïnjecteerd in een op Docker gebaseerde sandbox kon worden misleid om een ​​afzonderlijke Docker Engine-fout tegen zijn host te misbruiken.

Thijs Van der Does