He löysivät cgroups v1:stä haavoittuvuuden, joka mahdollistaa murtautumisen eristetystä säiliöstä

Muutama päivä sitten uutinen julkaistiin yksityiskohdat on paljastettu haavoittuvuus tuo löytyi mekanismin täytäntöönpanossa resurssien rajoitus cgroup v1 Linux-ytimessä, joka on jo luetteloitu nimellä CVE-2022-0492.

Tämä haavoittuvuus löydettiin se voidaan käyttää eristettyjen säiliöiden poistoon ja kerrotaan yksityiskohtaisesti, että ongelma on ollut olemassa Linux-ytimen versiosta 2.6.24 lähtien.

Blogitekstissä se mainitaan haavoittuvuus johtuu loogisesta virheestä release_agent-tiedostonkäsittelyssä, joten kunnollisia tarkastuksia ei suoritettu, kun ajuria ajettiin täydellä luvalla.

Tiedosto release_agent käytetään määrittämään ohjelma, jonka ydin suorittaa kun prosessi päättyy c-ryhmään. Tämä ohjelma toimii pääkäyttäjänä kaikilla root-nimiavaruuden "ominaisuuksilla". Ainoastaan ​​järjestelmänvalvojalla piti olla pääsy release_agent-kokoonpanoon, mutta todellisuudessa tarkistukset rajoittuivat pääsyn myöntämiseen pääkäyttäjälle, mikä ei estänyt kokoonpanon muuttamista säilöstä tai ei-järjestelmänvalvojan pääkäyttäjää (CAP_SYS_ADMIN ) .

Aiemmin, tätä ominaisuutta ei olisi pidetty haavoittuvuudena, mutta tilanne on muuttunut käyttäjätunnuksen nimiavaruuksien (käyttäjänimiavaruuksien) myötä, joiden avulla voit luoda erillisiä pääkäyttäjiä säilöihin, jotka eivät ole päällekkäisiä pääympäristön pääkäyttäjän kanssa.

Niinpä hyökkäykseen riittää säilössä, jolla on oma pääkäyttäjä erilliseen käyttäjätunnustilaan liittääksesi release_agent-käsittelijän, joka prosessin päätyttyä toimii kaikilla pääympäristön oikeuksilla.

Oletuksena cgroupfs liitetään vain luku -säilöön, mutta ei ole ongelmaa asentaa tämä pseudofs uudelleen kirjoitustilassa CAP_SYS_ADMIN-oikeuksilla tai luomalla sisäkkäinen säilö erillisellä käyttäjänimiavaruudella käyttämällä järjestelmäkutsua lopettaa jakaminen, jossa CAP_SYS_ADMIN-oikeudet ovat käytettävissä luodulle säilölle.

Hyökkäys voidaan tehdä käyttämällä pääkäyttäjän oikeuksia eristetyssä säilössä tai suorittamalla säilön ilman no_new_priv-merkkiä, mikä estää lisäoikeuksien hankkimisen.

Järjestelmässä on oltava tuki nimiavaruksille käyttäjä (oletusarvoisesti käytössä Ubuntussa ja Fedorassa, mutta ei käytössä Debianissa ja RHEL:ssä) ja heillä on pääsy juuri v1-c-ryhmään (esimerkiksi Docker ajaa säilöjä RDMA-juuren c-ryhmässä). Hyökkäys on mahdollista myös CAP_SYS_ADMIN-oikeuksilla, jolloin käyttäjien nimitilojen tukea ja pääsyä cgroup v1:n juurihierarkiaan ei tarvita.

Sen lisäksi, että haavoittuvuus murtautuu ulos eristetystä säiliöstä, se sallii myös prosessit, joita käynnistää pääkäyttäjä ilman "kykyä" tai kuka tahansa käyttäjä, jolla on CAP_DAC_OVERRIDE-oikeudet (hyökkäys vaatii pääsyn /sys/fs/cgroup/*/release_agent-tiedostoon, jonka omistaa root) päästäksesi käyttämään kaikkia järjestelmän "ominaisuuksia".

Säilöjen lisäksi haavoittuvuus saattaa myös sallia pääisäntäprosessien, jolla ei ole ominaisuuksia, tai ei-root-isäntäprosesseille, joissa on CAP_DAC_OVERRIDE-ominaisuus, laajentaa oikeuksia kaikkiin ominaisuuksiin. Tämä voi antaa hyökkääjille mahdollisuuden ohittaa tiettyjen palveluiden käyttämät kovetustoimenpiteet, jotka poistavat ominaisuuksia ja yrittävät rajoittaa vaikutusta, jos kompromissi tapahtuu.

Osio 42 suosittelee käyttäjiä päivittämään kiinteään ytimen versioon. Ota Seccomp käyttöön niille, jotka käyttävät säiliöitä, ja varmista, että AppArmor tai SELinux on käytössä. Prisma Cloud -käyttäjät voivat katsoa Prisma Cloud -suojaukset -osiosta Prisma Cloudin tarjoamia lievennyksiä.

Huomaa, että haavoittuvuutta ei voida hyödyntää käytettäessä Seccomp-, AppArmor- tai SELinux-suojausmekanismeja lisäsäiliöiden eristämiseen, koska Seccomp estää unshare()-järjestelmäkutsun ja AppArmor ja SELinux eivät salli cgroupfs-tiedostojen asentamista kirjoitustilassa.

Lopuksi on syytä mainita, että se korjattiin ytimen versioissa 5.16.12, 5.15.26, 5.10.97, 5.4.177, 4.19.229, 4.14.266 ja 4.9.301. Voit seurata pakettipäivitysten julkaisua jakeluissa näillä sivuilla: DebianSUSEUbuntuRHELFedoraGentooArch Linux.

Vihdoin jos olet kiinnostunut tietämään siitä lisää, voit tarkistaa yksityiskohdat seuraava linkki.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.