A runc-ban fellelhető sérülékenység lehetővé teszi a Docker és Kubernetes konténerekből való kilépést.

A runc vulnerability, used in Docker and Kubernetes for running isolated containers, has been discovered (CVE-2024-21626), allowing access to the host environment's filesystem from an isolated container. During the attack, an attacker can overwrite certain executable files in the host environment and thus execute their code outside the container. The issue does not manifest in the crun and youki runtimes, which use runc, or in LXC. The vulnerability has been fixed in runc version 1.1.12.

When using the Docker or Kubernetes toolsets, the attack can be executed by preparing a specially crafted container image, after which external filesystem access can be made from the container once it is installed and launched. In Docker, there is a possibility of exploitation through a specially crafted Dockerfile. The vulnerability can also be exploited when launching processes in the container using the 'runc exec' command by binding the working directory to the host's namespace.

The vulnerability is caused by a leak of internal file descriptors. Before running code inside the container, runc closes all file descriptors using the O_CLOEXEC flag. However, after the subsequent execution of the setcwd() function, a file descriptor remains open that points to the working directory, continuing to be accessible after the container is launched. Several basic attack scenarios on the host environment have been proposed using the leftover file descriptor.

For example, an attacker could specify the process.cwd parameter in the container image pointing to '/proc/self/fd/7/', which would bind the working directory of process pid1 in the container to the host environment's mount space. Thus, in the container image, it is possible to set up the execution of '/proc/self/fd/7/../../../../bin/bash', allowing the content of '/proc/self/exe', which points to the host copy of /bin/bash, to be overwritten through executing a shell script.

Egy másik támadási lehetőség lehetővé teszi, hogy a konténeren belüli, korlátozott támadó hozzáférjen a gazda környezet könyvtárához, ha a megadott konténerben priviligált folyamatok futnak a „runc exec —cwd” parancs segítségével. A támadó a folyamat futtatási útvonalát egy szimbolikus hivatkozásra változtathatja, amely a „/proc/self/fd/7/” helyre mutat, így hozzáférhet a „/proc/$exec_pid/cwd”-hez, ezzel hozzáférést nyerve a gazda fájlrendszeréhez. A támadó képes lehet a gazda környezetben futó fájlok felülírására is azáltal, hogy a gazda környezetből futtat egy fájlt („/proc/self/fd/7/../../../bin/bash”), majd felülírja a „/proc/$pid/exe”-t, amely a futó fájlra hivatkozik.

Továbbá, a Docker eszközkészletében öt újabb sebezhetőséget találtak:

  • CVE-2024-23651 — versenyhelyzet a BuildKit csomagban, amelyet a Docker használ az állományforrás kód építőanyagokká való átkonvertálására. A sebezhetőség a párhuzamosan végrehajtott építési szakaszok segítségével egy közös csatolási hely használatából adódik a gyorsítótárazáshoz („—mount=type=cache,source=”), amely lehetővé teszi, hogy a BuildKit speciálisan elkészített Dockerfile-jában a konténerből hozzáférést nyerjenek a gazda környezet fájljaihoz. A sebezhetőséget a BuildKit 0.12.5 verzióban javították.
  • CVE-2024-23652 — a „—mount” opció használata során létrehozott csatolási pontokhoz tartozó üres fájlok törlésekor fellépő hiba lehetővé teszi, hogy egy speciálisan elkészített Dockerfile feldolgozása során fájlokat töröljenek a konténeren kívül. A sebezhetőséget a BuildKit 0.12.5 verzióban javították.
  • CVE-2024-23653 — a BuildKit API megvalósításának hibája lehetővé teszi a konténer magasabb privilégiumú futtatását a security.insecure beállítás figyelmen kívül hagyásával. A sebezhetőséget a BuildKit 0.12.5 verzióban javították.
  • CVE-2024-23650 — egy rosszindulatú kliens vagy a BuildKit frontendje képes a BuildKit háttérfolyamatának összeomlását okozni. A sebezhetőséget a BuildKit 0.12.5 verzióban javították.
  • CVE-2024-24557 — a Moby, a konténerizációs rendszerek építéséhez szükséges komponens gyorsítótárának beszennyezési lehetősége. A speciálisan elkészített konténerkép kezelésénél lehetőség nyílik adatok gyorsítótárba helyezésére, amelyek a következő építési szakaszokban felhasználhatók. A sebezhetőséget a Moby 25.0.2 és 24.0.9 verziókban javították.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster