Viņi atrada cgroups v1 ievainojamību, kas ļauj izlauzties no izolēta konteinera

Pirms dažām dienām ziņas tika izdotas detaļas ir atklātas ievainojamība kas tika atrasts mehānisma ieviešanā resursu ierobežojums cgroup v1 Linux kodolā, kas jau ir kataloģizēts ar CVE-2022-0492.

Šī ievainojamība tika atrasta se var izmantot, lai izietu no izolētiem konteineriem un ir detalizēti norādīts, ka problēma pastāv kopš Linux kodola 2.6.24.

Emuāra ierakstā tas ir minēts ievainojamība ir saistīta ar loģisku kļūdu release_agent failu apdarinātājā, tāpēc pareizas pārbaudes netika veiktas, kad draiveris tika palaists ar pilnām atļaujām.

Fails release_agent izmanto, lai definētu programmu, kuru kodols izpilda kad process beidzas cgrupā. Šī programma darbojas kā root ar visām "spējām" saknes nosaukumvietā. Tikai administratoram bija jābūt piekļuvei release_agent konfigurācijai, taču patiesībā pārbaudes aprobežojās ar piekļuves piešķiršanu root lietotājam, kas neliedza mainīt konfigurāciju no konteinera vai neadministratīvā root lietotāja (CAP_SYS_ADMIN ) .

Iepriekš šī funkcija netiktu uztverta kā ievainojamība, taču situācija ir mainījusies līdz ar lietotāju identifikatoru nosaukumvietu (lietotāju nosaukumvietu) parādīšanos, kas ļauj izveidot atsevišķus saknes lietotājus konteineros, kas nepārklājas ar galvenās vides root lietotāju.

Līdz ar to uzbrukumam pietiek ar konteineru, kuram ir savs root lietotājs atsevišķā lietotāja ID vietā, lai pievienotu savu release_agent apdarinātāju, kas pēc procesa pabeigšanas darbosies ar visām vecākvides privilēģijām.

Pēc noklusējuma cgroupfs tiek montēts tikai lasāmā konteinerā, taču nav problēmu pārmontēt šos pseidofus rakstīšanas režīmā ar CAP_SYS_ADMIN tiesībām vai izveidojot ligzdotu konteineru ar atsevišķu lietotāja vārdu telpu, izmantojot sistēmas izsaukumu pārtraukt koplietošanu, kurā CAP_SYS_ADMIN tiesības. ir pieejami izveidotajam konteineram.

Uzbrukums To var izdarīt, izmantojot root tiesības izolētā konteinerā vai palaižot konteineru bez no_new_priv karoga, kas aizliedz iegūt papildu privilēģijas.

Sistēmai ir jābūt iespējotai nosaukumvietu atbalstam lietotājs (pēc noklusējuma iespējots Ubuntu un Fedora, bet nav iespējots Debian un RHEL), un viņam ir piekļuve saknes v1 cgrupai (piemēram, Docker palaiž konteinerus RDMA saknes cgrupā). Uzbrukums ir iespējams arī ar CAP_SYS_ADMIN privilēģijām, un tādā gadījumā nav nepieciešams atbalsts lietotāju nosaukumvietām un piekļuve cgroup v1 saknes hierarhijai.

Papildus izkļūšanai no izolētā konteinera, ievainojamība pieļauj arī procesus, ko sācis saknes lietotājs bez "spējām" vai jebkurš lietotājs ar CAP_DAC_OVERRIDE tiesībām (uzbrukumam nepieciešama piekļuve /sys/fs/cgroup/*/release_agent failam, kas pieder root), lai iegūtu piekļuvi visām sistēmas "iespējam".

Papildus konteineriem ievainojamība var arī ļaut saknes resursdatora procesiem bez iespējām vai bezsaknes resursdatora procesiem ar CAP_DAC_OVERRIDE iespēju palielināt privilēģijas uz pilnām iespējām. Tas var ļaut uzbrucējiem apiet noturības pasākumu, ko izmanto noteikti pakalpojumi, kas noņem iespējas, mēģinot ierobežot ietekmi, ja rodas kompromiss.

42. nodaļa iesaka lietotājiem jaunināt uz fiksētu kodola versiju. Tiem, kuros darbojas konteineri, iespējojiet Seccomp un pārliecinieties, vai ir iespējots AppArmor vai SELinux. Prisma Cloud lietotāji var skatīt sadaļu “Prisma Cloud aizsardzība”, lai redzētu Prisma Cloud nodrošinātos mazināšanas pasākumus.

Ņemiet vērā, ka ievainojamību nevar izmantot, izmantojot Seccomp, AppArmor vai SELinux aizsardzības mehānismus papildu konteinera izolācijai, jo Seccomp bloķē unshare() sistēmas izsaukumu un AppArmor un SELinux neļauj montēt cgroupfs rakstīšanas režīmā.

Visbeidzot, ir vērts pieminēt, ka tas tika labots kodola versijās 5.16.12, 5.15.26, 5.10.97, 5.4.177, 4.19.229, 4.14.266 un 4.9.301. Pakešu atjauninājumu izlaišanai izplatījumos varat sekot līdzi šajās lapās: DebianSUSEUbuntuRHELFedoraGentooArch Linux.

Beidzot ja jūs interesē uzzināt vairāk par to, sīkāku informāciju varat pārbaudīt šī saite.


Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.