CVE-2026-6406
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 11 - wyżej niż 11% wszystkich znanych CVE
Streszczenie
Flaga --use-api-socket w Docker CLI omija ograniczenia Enhanced Container Isolation (ECI) w Docker Desktop. Gdy ECI jest włączone, montowanie gniazda Dockera z kontenerów jest domyślnie blokowane, chyba że jawnie dozwolone w konfiguracji admin-settings. Flaga --use-api-socket dodaje montowanie gniazda przez pole HostConfig.Mounts zamiast HostConfig.Binds, a mechanizm ECI sprawdza tylko Binds, co pozwala na niekontrolowane montowanie. Daje to kontenerowi pełny dostęp do gniazda silnika Dockera, a jeśli użytkownik hosta jest zalogowany do rejestrów kontenerów, także do jego poświadczeń uwierzytelniających.
Ocena ryzyka
Lokalny atakujący z możliwością uruchamiania poleceń Docker CLI może ominąć ECI, uzyskać dostęp do silnika Dockera i potencjalnie eskalować uprawnienia, a także wykraść poświadczenia do rejestrów kontenerów.
Rekomendacja
Należy zaktualizować Docker Desktop do wersji zawierającej poprawkę, która rozszerza sprawdzanie ECI na pole HostConfig.Mounts.
Inne podatności w Docker Desktop
Oryginalny opis (angielski, źródło NVD)
The Docker CLI --use-api-socket flag bypasses Enhanced Container Isolation (ECI) restrictions in Docker Desktop. When ECI is enabled, Docker socket mounts from containers are denied unless explicitly allowed via the admin-settings configuration. However, the --use-api-socket flag adds the Docker socket mount via the HostConfig.Mounts field rather than the HostConfig.Binds field. The ECI enforcement in the Docker Desktop API proxy only inspected Binds, allowing the mount to pass unchecked. This grants a container full access to the Docker Engine socket and, if the host user has logged in to container registries, their authentication credentials. A local attacker with the ability to run Docker CLI commands can exploit this to escape ECI restrictions, access the Docker Engine, and potentially escalate privileges.

