Pronašli su ranjivost u cgroups v1 koja omogućuje izlazak iz izoliranog spremnika

Prije nekoliko dana vijest je objavljena otkriveni su detalji ranjivost koji je pronađen u provedbi mehanizma ograničenje resursa cgrupe v1 u jezgri Linuxa koja je već katalogizirana pod CVE-2022-0492.

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

U blog postu se spominje da ranjivost je posljedica logičke pogreške u obrađivaču datoteke release_agent, tako da nisu izvršene odgovarajuće provjere kada je vozač pokrenut s punim dopuštenjima.

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

ranije, ova značajka ne bi bila percipirana kao ranjivost, ali situacija se promijenila pojavom imenskih prostora korisničkih identifikatora (user namespaces), koji vam omogućuju stvaranje zasebnih root korisnika u spremnicima koji se ne preklapaju s korijenskim korisnikom glavnog okruženja.

Prema tome, za napad je dovoljno u kontejneru koji ima svog root korisnika u zasebnom prostoru korisničkog id-a da biste priključili svoj obrađivač release_agenta, koji će se, nakon dovršetka procesa, izvoditi sa svim privilegijama roditeljskog okruženja.

Prema zadanim postavkama, cgroupfs se montira u spremnik samo za čitanje, ali nema problema s ponovnim montiranjem ovih pseudofa u načinu pisanja s pravima CAP_SYS_ADMIN ili stvaranjem ugniježđenog spremnika s zasebnim korisničkim prostorom imena koristeći sistemski poziv za zaustavljanje dijeljenja, u kojem prava CAP_SYS_ADMIN dostupni su stvorenom spremniku.

Napad može se učiniti tako da imate root privilegije u izoliranom spremniku ili pokretanjem spremnika bez oznake no_new_privs, što zabranjuje stjecanje dodatnih privilegija.

Sustav 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 spremnike u RDMA korijenskoj cgrupi). Napad je također moguć s privilegijama CAP_SYS_ADMIN, u kojem slučaju nije potrebna podrška za korisničke prostore imena i pristup korijenskoj hijerarhiji cgroup v1.

Osim proboja iz izoliranog spremnika, ranjivost također dopušta procese koje pokreće root korisnik bez "sposobnosti" ili bilo kojeg korisnika s CAP_DAC_OVERRIDE pravima (napad zahtijeva pristup datoteci /sys/fs/cgroup/*/release_agent u vlasništvu root) za pristup svim "sposobnostima" sustava.

Osim spremnika, ranjivost također može omogućiti korijenskim host procesima bez mogućnosti ili ne-root host procesima s mogućnošću CAP_DAC_OVERRIDE, da eskaliraju privilegije na pune mogućnosti. To 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 spremnike, omogućite Seccomp i provjerite jesu li AppArmor ili SELinux omogućen. Korisnici Prisma Clouda mogu pogledati odjeljak "Prisma Cloud Protections" kako bi vidjeli ublažavanja koje pruža Prisma Cloud.

Imajte na umu da se ranjivost ne može iskoristiti kada se koriste mehanizmi zaštite Seccomp, AppArmor ili SELinux za dodatnu izolaciju spremnika, budući da Seccomp blokira poziv sustava unshare(), a AppArmor i SELinux ne dopuštaju 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 vas zanima više o tome, detalje možete provjeriti u sljedeći link.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.