Pronašli su ranjivost u cgroups v1 koja omogućava probijanje iz izolovanog kontejnera

Prije nekoliko dana vijest je objavljena otkriveni su detalji ranjivost to je pronađeno u implementaciji mehanizma ograničenje resursa cgroup v1 u Linux kernelu koji je već katalogiziran pod CVE-2022-0492.

Ova ranjivost je pronađena se se može koristiti za izlazak iz izolovanih kontejnera i detaljno je navedeno da je problem prisutan od Linux kernela 2.6.24.

U blog postu se to spominje ranjivost je uzrokovana logičkom greškom u obrađivaču fajla release_agent, tako da nisu izvršene odgovarajuće provjere kada je upravljački program pokrenut s punim dozvolama.

datoteku release_agent se koristi za definiranje programa koji kernel izvršava kada se proces završi u cgroup. Ovaj program radi kao root sa svim "sposobnostima" u root imenskom prostoru. Samo administrator je trebao imati pristup konfiguraciji release_agenta, ali u stvarnosti, provjere su bile ograničene na odobravanje pristupa root korisniku, što nije spriječilo promjenu konfiguracije iz kontejnera ili od strane neadministrativnog root korisnika (CAP_SYS_ADMIN ) .

Ranije ova karakteristika ne bi bila percipirana kao ranjivost, ali situacija se promijenila pojavom imenskih prostora identifikatora korisnika (user namespaces), koji vam omogućavaju da kreirate zasebne root korisnike u kontejnerima koji se ne preklapaju sa root korisnikom glavnog okruženja.

Prema tome za napad je dovoljno u kontejneru koji ima svog root korisnika u zasebnom prostoru za ID korisnika da biste uključili vaš obrađivač release_agent, koji će, kada se proces završi, pokrenuti sa svim privilegijama roditeljskog okruženja.

Podrazumevano, cgroupfs se montira u kontejner samo za čitanje, ali nema problema ponovno montiranje ovih pseudofa u načinu pisanja sa CAP_SYS_ADMIN pravima ili kreiranjem ugniježđenog kontejnera sa zasebnim korisničkim prostorom imena koristeći sistemski poziv za zaustavljanje dijeljenja, u kojem CAP_SYS_ADMIN prava su dostupni kreiranom kontejneru.

Napad može se postići posjedovanjem root privilegija u izoliranom kontejneru ili pokretanjem kontejnera bez oznake no_new_privs, što zabranjuje stjecanje dodatnih privilegija.

Sistem mora imati omogućenu podršku za prostore imena korisnik (omogućeno prema zadanim postavkama na Ubuntu i Fedori, ali nije omogućeno na Debianu i RHEL-u) i ima pristup korijenskoj v1 cgrupi (na primjer, Docker pokreće kontejnere u RDMA korijenskoj cgrupi). Napad je moguć i sa privilegijama CAP_SYS_ADMIN, u kom slučaju podrška za korisničke prostore imena i pristup korijenskoj hijerarhiji cgroup v1 nije potrebna.

Pored proboja iz izolovanog kontejnera, ranjivost takođe dozvoljava procese koje pokreće root korisnik bez "sposobnosti" ili bilo koji korisnik sa CAP_DAC_OVERRIDE pravima (napad zahteva pristup datoteci /sys/fs/cgroup/*/release_agent u vlasništvu root) da biste dobili pristup svim "mogućnostima" sistema.

Osim kontejnera, ranjivost također može omogućiti korijenskim host procesima bez mogućnosti ili ne-root host procesima sa mogućnošću CAP_DAC_OVERRIDE, da eskaliraju privilegije na pune mogućnosti. Ovo može omogućiti napadačima da zaobiđu mjeru učvršćivanja koju koriste određene usluge, a koje uklanjaju mogućnosti u pokušaju da ograniče utjecaj ako dođe do kompromisa.

Jedinica 42 preporučuje korisnicima nadogradnju na fiksnu verziju kernela. Za te pokrenute kontejnere, omogućite Seccomp i uvjerite se da je AppArmor ili SELinux omogućen. Korisnici Prisma Cloud-a mogu pogledati odjeljak “Prisma Cloud Protections” da vide ublažavanja koje pruža Prisma Cloud.

Imajte na umu da se ranjivost ne može iskoristiti kada se koriste Seccomp, AppArmor ili SELinux zaštitni mehanizmi za dodatnu izolaciju kontejnera, jer Seccomp blokira sistemski poziv unshare(), a AppArmor i SELinux ne dozvoljavaju montiranje cgroupf-ova u načinu pisanja.

Na kraju, vrijedi spomenuti da je popravljen u verzijama kernela 5.16.12, 5.15.26, 5.10.97, 5.4.177, 4.19.229, 4.14.266 i 4.9.301. Objavljivanje ažuriranja paketa u distribucijama možete pratiti na ovim stranicama: DebianSUSEUbuntuRHELfedoraGentooArch Linux.

Konačno ako ste zainteresirani da saznate više o tome, detalje možete provjeriti u sljedeći link.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.