Otkrili su ranjivost u Linux eBPF podsistemu

Nedavno je vijest razbila to identifikovana je ranjivost (CVE-2021-29154) u eBPF podsistemu, koji strOmogućava pokretanje kontrolera za praćenje, analizu podsistema i kontrolu prometa trčanje unutar jezgre Linuxa u posebnoj JIT virtualnoj mašini koja omogućava lokalnom korisniku da pokreće vaš kôd na razini jezgre.

Prema istraživačima koji su identifikovali ranjivost, uspjeli su razviti djelotvorni prototip exploita za 86-bitne i 32-bitne x64 sisteme koje može koristiti neprivilegirani korisnik.

Istovremeno, Red Hat napominje da ozbiljnost problema ovisi o dostupnosti eBPF sistemskog poziva. za korisnika. Na primjer, na RHEL-u i većini ostalih Linux distribucija prema zadanim postavkama, ranjivost se može iskoristiti kada je omogućen BPF JIT i korisnik ima CAP_SYS_ADMIN prava.

Otkriven je problem u jezgri Linuxa koji oni mogu zloupotrijebiti
neprivilegiranim lokalnim korisnicima da eskaliraju privilegije.

Problem je u tome kako BPF JIT kompajleri izračunavaju za neke arhitekture
Pomak grana pri generiranju mašinskog koda. Ovo se može zloupotrijebiti
stvoriti anomalan mašinski kod i pokrenuti ga u načinu jezgre,
gdje je protok kontrole otet radi izvršavanja nesigurnog koda.

I to je to što oni detaljno opisuju problem uzrokuje greška koja se generira pri izračunavanju odstupanja uputa za grananje tokom JIT kompajlera koji generira mašinski kod.

Posebno se spominje da se prilikom generiranja uputa za grananje ne uzima u obzir da se pomak može promijeniti nakon prolaska kroz fazu optimizacije, pa se ovaj kvar može koristiti za generiranje anomalnog strojnog koda i njegovo izvršavanje na nivou jezgre.

Treba istaći to Ovo nije jedina ranjivost u eBPF podsistemu koja je postala poznata posljednjih godina, budući da su krajem marta u jezgru identificirane još dvije ranjivosti (CVE-2020-27170, CVE-2020-27171), koji pružaju mogućnost upotrebe eBPF-a kako bi mogli zaobići zaštitu od ranjivosti klase Spectre, koje omogućavaju određivanje sadržaja memorije jezgre i što rezultira stvaranjem uvjeta za spekulativno izvršavanje određenih operacija.

Napad Spectre zahtijeva prisustvo određenog niza naredbi u privilegiranom kodu, što dovodi do spekulativnog izvršavanja naredbi. U eBPF-u je pronađeno nekoliko načina generirati takve upute pomoću manipulacija s BPF programima koji se prenose za njihovo izvršavanje.

  • Ranjivost CVE-2020-27170 uzrokovana je manipulacijom pokazivača u BPF provjeri, što uzrokuje špekulativne operacije za pristup području izvan međuspremnika.
  • Ranjivost CVE-2020-27171 povezana je s cjelobrojnom greškom podliva pri radu s pokazivačima, što dovodi do spekulativnog pristupa podacima izvan međuspremnika.

Ovi su problemi već riješeni u verzijama jezgra 5.11.8, 5.10.25, 5.4.107, 4.19.182 i 4.14.227 i uključeni su u ažuriranja kernela za većinu Linux distribucija. Istraživači su pripremili exploit prototip koji omogućava privilegiranom korisniku da preuzme podatke iz memorije jezgra.

Što se tiče jednog od rješenja koje predložen u okviru Red Hat-a je:

Ublažavanje:

Ovaj problem prema zadanim postavkama ne utječe na većinu sistema. Administrator bi morao omogućiti utjecaj na BPF JIT.

Može se odmah onemogućiti naredbom:

# echo 0 > /proc/sys/net/core/bpf_jit_enable

Ili se može onemogućiti za sva naredna pokretanja sistema postavljanjem vrijednosti u /etc/sysctl.d/44-bpf -jit-disable

## start file ##
net.core.bpf_jit_enable=0</em>
end file ##

Konačno ako ste zainteresirani da saznate više o tome o ovoj ranjivosti, detalje možete provjeriti u sljedeći link.

Vrijedno je spomenuti da se problem nastavlja do verzije 5.11.12 (uključujući) i još uvijek nije riješen u većini distribucija, iako je korekcija već dostupan u obliku flastera.


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.