Ranljivost pred več kot 15 leti v Netfilterju je omogočila stopnjevanje privilegijev

Pred nekaj dnevi je bila objavljena novica v Netfilterju je bila ugotovljena ranljivost (podsistem jedra Linuxa, ki se uporablja za filtriranje in spreminjanje omrežnih paketov), ​​ki omogoča lokalnemu uporabniku, da pridobi korenske privilegije v sistemutudi v izolirani posodi.

Ranljivost CVE-2021-22555 gre za težavo, ki obstaja že od jedra 2.6.19, ki je bil predstavljen pred 15 leti in je povzročila napaka v gonilnikih IPT_SO_SET_REPLACE in IP6T_SO_SET_REPLACE, kar povzroči prelivanje medpomnilnika pri pošiljanju posebej okrašenih parametrov prek klica setsockopt v načinu compat.

Morda se bodo mnogi na tej točki spraševali, kako je mogoče, da je napaka v jedru Linuxa tako dolgo neopažena, in odgovor na to je, da čeprav je bila napaka, ki je bila prisotna od Linuxa 2.6.19, ranljivost odkrita s kodo revizije, čeprav koda C ni bila ponovljiva, zato je ni bilo mogoče izkoristiti, ker takrat še niso bili najdeni potrebni viri za stopnjevanje privilegij

Na primer podpora za privilegirane uporabniške prostore imen je v jedru 3.8. Nekatere distribucije imajo tudi popravek, ki doda sysctl, da onemogoči imenitne prostore brez privilegiranega imena.

V običajnih okoliščinah lahko samo root uporabnik pokliče compat_setsockopt ()Vendar potrebna dovoljenja za izvedbo napada lahko jih pridobi tudi privilegiran uporabnik v sistemih z omogočenimi imenskimi prostori.

CVE-2021-22555 je 15 let stara ranljivost sklada brez zapisov v Linux Netfilterju, ki je dovolj zmogljiva, da zaobide vsa sodobna varnostna olajšava in doseže izvajanje kode jedra.

Kot tak je opisano, da lokalni uporabnik lahko ustvari vsebnik z ločenim korenskim uporabnikom in od tam izkoristi ranljivostjaz. Na primer, "uporabniški prostori imen" so privzeto vključeni v Ubuntu in Fedoro, ne pa tudi v Debian in RHEL.

To ranljivost je mogoče izkoristiti z delnim prepisom datoteke m_list->nextkazalec msg_msgstrukturo in doseganje prostega po uporabi. To je dovolj zmogljivo, da se koda jedra zažene ob izogibanju KASLR, SMAP in SMEP.

Težava nastane tudi v funkciji xt_compat_target_from_user () zaradi napačnega izračuna velikosti pomnilnika pri shranjevanju struktur jedra po pretvorbi iz 32-bitne v 64-bitno predstavitev.

Kot tak je omenjeno, da napaka omogoča zapisovanje štirih "nič" bajtov v kateri koli položaj zunaj vmesnega pomnilnika dodeljeno, omejeno z odmikom 0x4C. Zaradi tega se omenja, da ta funkcija se je izkazala za dovolj za ustvarjanje izkoriščanja ki omogoča pridobitev korenskih pravic: z brisanjem kazalca m_list-> next v strukturi msg_msg so bili ustvarjeni pogoji za dostop do podatkov po sprostitvi pomnilnika (use-after-free), ki je bil nato uporabljen za pridobivanje informacij o naslovih in spremembe drugih struktur z manipulacijo sistemskega klica msgsnd ().

Kar zadeva poročilo o napaki, tako kot vsaka odkrita ranljivost, to vključuje postopek in poročilo, ki je bilo razvito razvijalcem aprila, s katerim je bilo v nekaj dneh popravljeno in popravek, ki je vključen v vse podprte distribucije, tako da informacije o napaki lahko objavite pozneje.

Projekti Debian, Arch Linux in Fedora so že ustvarili posodobitve paketov. Začnemo z posodobitvami Ubuntu, RHEL in SUSE. Ker je napaka resna, v praksi jo je mogoče izkoristiti in omogoča pobeg iz posode, Google je svoje odkritje ocenil na 10,000 USD in nagrado podvojil raziskovalcu, ki je odkril ranljivost, in za določitev metode za izogibanje izolaciji zabojnikov Kubernetes na gruči kCTF.

Za testiranje je bil pripravljen delujoči prototip eksploatacije ki obide zaščitne mehanizme KASLR, SMAP in SMEP.

Končno če vas zanima več o tem, lahko preverite podrobnosti V naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.