Otkrili su ranjivost u TIPC implementaciji Linux kernela

Nedavno je vijest razbila to istraživač sigurnosti identifikovao je kritičnu ranjivost (već naveden pod CVE-2021-43267) u implementaciji TIPC mrežnog protokola isporučuje se u Linux kernelu, koji omogućava daljinsko izvršavanje koda s privilegijama kernela slanjem posebno kreiranog mrežnog paketa.

Opasnost od problema je ublažena činjenicom da napad zahtijeva eksplicitno omogućavanje TIPC podrške na sistemu (učitavanjem i konfiguracijom modula jezgra tipc.ko), što se ne radi po defaultu na ne-Linux distribucijama.specialized.

CodeQL je mehanizam za analizu koji vam omogućava da pokrenete upite na vašem kodu. Sa sigurnosne perspektive, ovo vam može omogućiti da pronađete ranjivosti jednostavnim opisom njihovog izgleda. CodeQL će tada biti objavljen i pronaći sve instance te ranjivosti.

TIPC je podržan od jezgra Linuxa 3.19, ali je kod koji je doveo do ranjivosti uključen u kernel 5.10.. TIPC protokol je originalno razvio Ericsson, namijenjen je organiziranju međuprocesne komunikacije u klasteru i uglavnom se aktivira na čvorovima klastera.

TIPC može raditi i preko Etherneta i preko UDP-a (mrežni port 6118). U slučaju rada preko Etherneta, napad se može izvesti sa lokalne mreže, a kada se koristi UDP, sa globalne mreže, ako port nije pokriven firewall-om. Napad također može izvršiti lokalni korisnik bez privilegija na hostu. Da biste omogućili TIPC, morate učitati modul jezgre tipc.ko i konfigurirati vezu do mrežnog interfejsa koristeći netlink ili tipc uslužni program.

Protokol je implementiran u modul kernela u paketu sa svim glavnim distribucijama Linuxa. Kada ga učita korisnik, može se koristiti kao konektor i može se konfigurirati u sučelju koristeći netlink (ili korištenjem alata korisničkog prostora tipc, koji će izvršiti ove netlink pozive) kao neprivilegirani korisnik.

TIPC se može konfigurisati da radi preko protokola nosioca kao što je Ethernet ili UDP (u poslednjem slučaju, kernel sluša na portu 6118 za dolazne poruke sa bilo koje mašine). Budući da korisnik s niskim privilegijama ne može kreirati sirove Ethernet okvire, postavljanje nosioca na UDP olakšava pisanje lokalnog exploit-a.

Ranjivost se manifestira u funkciji tipc_crypto_key_rc i uzrokovana je nedostatkom pravilne provjere korespondencije između onoga što je navedeno u zaglavlju i stvarne veličine podataka kada se analiziraju paketi tipa MSG_CRYPTO koji se koriste za dobijanje ključeva za šifrovanje od drugih čvorova u klasteru kako bi se kasnije dešifrovale poruke poslane sa ovih čvorova.

Veličina podataka kopiranih u memoriju izračunava se kao razlika između vrijednosti polja s veličinom poruke i veličine zaglavlja, ali bez uzimanja u obzir stvarne veličine naziva algoritma šifriranja koji se prenosi u poruci i sadržaju ključa.

Pretpostavlja se da je veličina naziva algoritma fiksna, a pored toga se za ključ prosljeđuje poseban atribut sa veličinom, a napadač može specificirati vrijednost u ovom atributu koja se razlikuje od stvarne vrijednosti, što će dovesti do pisanja na red poruke izvan dodijeljenog bafera.

Ranjivost je ispravljena u kernelima 5.15.0, 5.10.77 i 5.14.16, iako se problem pojavljuje i još nije riješen u Debianu 11, Ubuntu 21.04 / 21.10, SUSE (u grani SLE15-SP4 koja još nije objavljena), RHEL (još nije detaljno da li je ranjivo rješenje ažurirano) i Fedora.

Iako ažuriranje kernela je već objavljeno za Arch Linux i distribucije s kernelima prije 5.10, kao što su Debian 10 i Ubuntu 20.04, nisu pogođene.

Konačno ako ste zainteresirani da saznate više o tome, možete provjeriti detalje Na sledećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.