Otkrili su ranjivost u Linux eBPF podsustavu

Nedavno je vijest objavila to utvrđena je ranjivost (CVE-2021-29154) u podsustavu eBPF, koji strOmogućuje pokretanje programa za praćenje, analizu podsustava i kontrolu prometa trčanje unutar jezgre Linuxa u posebnom JIT virtualnom stroju koji omogućuje lokalnom korisniku pokretanje vašeg koda na razini jezgre.

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

U isto vrijeme, Red Hat napominje da ozbiljnost problema ovisi o dostupnosti eBPF sistemskog poziva. za korisnika. Na primjer, na RHEL-u i većini ostalih distribucija Linuxa 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 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 strojnog koda. To se može zloupotrijebiti
stvoriti anomalan strojni 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 pogreška koja se generira pri izračunavanju odstupanja uputa za grananje tijekom JIT prevoditelja koji generira strojni kod.

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

Treba napomenuti da Ovo nije jedina ranjivost u eBPF podsustavu koja je postala poznata posljednjih godina, budući da su krajem ožujka u jezgri identificirane još dvije ranjivosti (CVE-2020-27170, CVE-2020-27171), koji pružaju mogućnost korištenja eBPF-a za zaobilaženje zaštite od ranjivosti klase Spectre, koje omogućuju određivanje sadržaja memorije jezgre i što rezultira stvaranjem uvjeta za spekulativno izvršavanje određenih operacija.

Napad Spectre zahtijeva prisutnost 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 manipulacijama 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 cjelovitom programskom pogreškom u radu s pokazivačima, što dovodi do spekulativnog pristupa podacima izvan međuspremnika.

Ti su problemi već riješeni u verzijama kernela 5.11.8, 5.10.25, 5.4.107, 4.19.182 i 4.14.227 i uključeni su u ažuriranja jezgre za većinu Linux distribucija. Istraživači su pripremili exploit prototip koji nepovlaštenom korisniku omogućuje preuzimanje podataka iz memorije jezgre.

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

Smanjenje:

Ovaj problem prema zadanim postavkama ne utječe na većinu sustava. 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 sljedeća pokretanja sustava postavljanjem vrijednosti u /etc/sysctl.d/44-bpf -jit-disable

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

Konačno ako vas zanima 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š nije riješen u većini distribucija, iako je korekcija već tu dostupan u obliku flastera.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.