De fandt en sårbarhed i cgroups v1, der gør det muligt at bryde ud af en isoleret container

Få dage siden nyheden blev frigivet detaljer er blevet afsløret en sårbarhed der blev fundet i implementeringen af ​​mekanismen ressourcebegrænsning cgroup v1 i Linux-kernen, som allerede er katalogiseret under CVE-2022-0492.

Denne sårbarhed fundet se kan bruges til at forlade isolerede beholdere og det er detaljeret, at problemet har været til stede siden Linux-kernen 2.6.24.

I blogindlægget nævnes det sårbarheden skyldes en logisk fejl i release_agent filbehandleren, så de korrekte kontroller blev ikke udført, når driveren blev kørt med fulde tilladelser.

filen release_agent bruges til at definere det program, som kernen udfører når en proces ender i en cgroup. Dette program kører som root med al "kapacitet" i root-navnerummet. Kun administratoren skulle have adgang til release_agent-konfigurationen, men i virkeligheden var kontrollen begrænset til at give adgang til root-brugeren, hvilket ikke udelukkede ændring af konfigurationen fra containeren eller af den ikke-administrative root-bruger (CAP_SYS_ADMIN ) .

tidligere, denne funktion ville ikke være blevet opfattet som en sårbarhed, men situationen har ændret sig med fremkomsten af ​​bruger-id-navneområder (brugernavneområder), som giver dig mulighed for at oprette separate rodbrugere i containere, der ikke overlapper med rodbrugeren i hovedmiljøet.

Følgelig for et angreb er det nok i en container, der har sin egen root-bruger i et separat bruger-id-rum for at tilslutte din release_agent-handler, som, når processen er fuldført, vil køre med alle rettighederne fra det overordnede miljø.

Som standard er cgroupfs monteret i en skrivebeskyttet container, men der er ingen problemer med at genmontere denne pseudofs i skrivetilstand med CAP_SYS_ADMIN-rettigheder eller ved at oprette en indlejret container med et separat brugernavneområde ved hjælp af systemopfordringen til stop-deling, hvori CAP_SYS_ADMIN-rettigheder er tilgængelige for den oprettede container.

Angrebet kan gøres ved at have root-rettigheder i en isoleret beholder eller ved at køre containeren uden no_new_privs-flaget, som forbyder at få yderligere privilegier.

Systemet skal have understøttelse af navneområder aktiveret bruger (aktiveret som standard på Ubuntu og Fedora, men ikke aktiveret på Debian og RHEL) og har adgang til root v1 cgroup (f.eks. Docker kører containere i RDMA root cgroup). Angrebet er også muligt med CAP_SYS_ADMIN-privilegier, i hvilket tilfælde understøttelse af brugernavneområder og adgang til rodhierarkiet af cgroup v1 ikke er påkrævet.

Ud over at bryde ud af den isolerede container tillader sårbarheden også processer startet af root-brugeren uden "kapacitet" eller nogen bruger med CAP_DAC_OVERRIDE-rettigheder (angrebet kræver adgang til filen /sys/fs/cgroup/*/release_agent, der ejes af root) for at få adgang til alle systemets "funktioner".

Bortset fra containere, kan sårbarheden også tillade root-værtsprocesser uden kapacitet, eller ikke-root-værtsprocesser med CAP_DAC_OVERRIDE-kapaciteten, at eskalere privilegier til fulde kapaciteter. Dette kan tillade angribere at omgå en hærdende foranstaltning, der bruges af visse tjenester, som fjerner kapaciteter i et forsøg på at begrænse virkningen, hvis der opstår et kompromis.

Enhed 42 anbefaler brugere at opgradere til en fast kerneversion. For de der kører containere, aktiver Secomp og sørg for, at AppArmor eller SELinux er aktiveret. Prisma Cloud-brugere kan henvise til afsnittet "Prisma Cloud Protections" for at se de begrænsninger, Prisma Cloud tilbyder.

Bemærk, at sårbarheden ikke kan udnyttes, når der bruges Seccomp, AppArmor eller SELinux beskyttelsesmekanismer til yderligere containerisolering, da Seccomp blokerer unshare() systemkaldet, og AppArmor og SELinux tillader ikke at cgroupfs monteres i skrivetilstand.

Til sidst er det værd at nævne, at det blev rettet i kerneversionerne 5.16.12, 5.15.26, 5.10.97, 5.4.177, 4.19.229, 4.14.266 og 4.9.301. Du kan følge udgivelsen af ​​pakkeopdateringer i distributioner på disse sider: DebianSUSEUbuntuRHELFedoraGentooArch Linux.

Endelig hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne i følgende link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.