CERTMIL

Centrul de Răspuns la Incidente de Securitate Cibernetică

Vulnerabilități în Docker ce permit accesul la sistemul de operare

Sursa: https://unsplash.com/

Cercetătorii în securitate au descoperit patru vulnerabilități în componente Docker care ar putea permite atacatorilor să acceseze sistemele de operare ale containerelor. Una dintre aceste vulnerabilități se găsește în runc, un instrument pentru generarea și rularea containerelor pe Linux, care stă la baza mai multor motoare de container, nu doar Docker.

Vulnerabilitățile au fost descoperite de Rory McNamara, un cercetător la firma de securitate Snyk, care le-a numit colectiv „Leaky Vessels”. Exploatarea vulnerabilităților ar putea permite unui atacator să obțină acces neautorizat la sistemul de operare al containerului și să permită accesul la date confidențiale (credentiale, informații despre clienți etc.), și să lanseze atacuri ulterioare, mai ales dacă accesul are prvilegii de superuser.

Runc poate fi privit ca instrumentul care face legătura dintre majoritatea motoarelor de gestionare a containerelor, cum ar fi Docker, containerd, Podman și CRI-O, și funcțiile de sandboxing ale nucleului Linux: control groups, manespaces, seccomp, apparmor și altele.

În cazul în care containerul a fost configurat să aibă process.cwd setat la /proc/self/fd/7/, procesul pid1 rezultat va avea un director de lucru în spațiul de montare al mașinii gazdă și astfel procesul spawnat poate accesa întregul sistem de fișiere al gazdei.

Exploatarea vizează comanda runc run, care este folosită pentru a crea și porni un container nou dintr-o imagine. Multe containere sunt pornite din imagini descărcate din repozitoriuri publice precum Docker Hub, iar imagini malițioase au fost încărcate în registrul de-a lungul timpului.

O altă versiune a atacului implică runc exec, care este folosit pentru a porni un proces într-un container existent. Acest lucru necesită ca atacatorul să știe că un proces administrativ apelează runc exec cu argumentul -cwd și o anumită cale și apoi să înlocuiască acea cale cu un link simbolic la fișierul /proc/self/fd/7.

A treia variantă de atac implică folosirea tehnicii runc run sau runc exec pentru a suprascrie binare din sistemul de operare gazdă, cum ar fi /bin/bash — shell-ul Linux. Aceste două variante sunt cunoscute sub numele de atacuri 3a și 3b.

În timpul rulării în timp real a Docker sau Kubernetes, orice utilizator cu drepturi de a porni o imagine de container poate executa exploatarea la distanță. Atacul poate fi lansat și folosind funcția ONBUILD din Dockerfiles.

Pe lângă vulnerabilitatea runc, care a fost remediată în versiunea nou lansată runc 1.1.12, McNamara a descoperit și alte vulnerabilități în alte componente Docker, cum ar fi BuildKit (CVE-2024-23652 și CVE-2024-23653).

Sursa: https://www.csoonline.com/article/1303004/vulnerabilities-in-docker-other-container-engines-enable-host-os-access.html

© Ministerul Apărării Naţionale | Site realizat de Agenția de Apărare Cibernetică |