Ze ontdekten een kwetsbaarheid in het Linux eBPF-subsysteem

Dat maakte onlangs het nieuws bekend er is een kwetsbaarheid geïdentificeerd (CVE-2021-29154) in het eBPF-subsysteem, dat pHiermee kunt u tracering, subsysteemanalyse en verkeersregelaars uitvoeren draait in de Linux-kernel op een speciale JIT virtuele machine die staat een lokale gebruiker toe om uw code op kernelniveau uit te voeren.

Volgens de onderzoekers die de kwetsbaarheid hebben geïdentificeerd, waren ze in staat om een ​​werkend prototype te ontwikkelen van een exploit voor 86-bits en 32-bits x64-systemen die kunnen worden gebruikt door een onbevoegde gebruiker.

Al mismo tiempo, Red Hat merkt op dat de ernst van het probleem afhangt van de beschikbaarheid van de eBPF-systeemoproep. voor de gebruiker. Op RHEL en de meeste andere Linux-distributies kan het beveiligingslek bijvoorbeeld standaard worden misbruikt als BPF JIT is ingeschakeld en de gebruiker CAP_SYS_ADMIN-rechten heeft.

Er is een probleem ontdekt in de Linux-kernel dat ze kunnen misbruiken
niet-geprivilegieerde lokale gebruikers om privileges te escaleren.

Het probleem is hoe de BPF JIT-compilers berekenen voor sommige architecturen
Vertakkingsverschuivingen bij het genereren van machinecode. Dit kan worden misbruikt
om afwijkende machinecode te maken en deze in kernelmodus uit te voeren,
waar de controlestroom wordt gekaapt om onveilige code uit te voeren.

En het is dat ze dat gedetailleerd beschrijven het probleem wordt veroorzaakt door een fout die wordt gegenereerd bij het berekenen van de offset van de vertakkingsinstructies tijdens de JIT-compiler die de machinecode genereert.

In het bijzonder wordt vermeld dat bij het genereren van de vertakkingsinstructies er geen rekening mee wordt gehouden dat de verplaatsing kan veranderen na het doorlopen van de optimalisatiefase, dus deze fout kan worden gebruikt om afwijkende machinecode te genereren en deze in de kernel uit te voeren.

Opgemerkt moet worden dat Dit is niet de enige kwetsbaarheid in het eBPF-subsysteem die de afgelopen jaren bekend is geworden, sinds eind maart werden er nog twee kwetsbaarheden geïdentificeerd in de kernel (CVE-2020-27170, CVE-2020-27171), die de mogelijkheid bieden om eBPF te gebruiken om de bescherming tegen Spectre-klasse-kwetsbaarheden te omzeilen, waardoor de inhoud van het kernelgeheugen kan worden bepaald en die resulteren in het creëren van voorwaarden voor de speculatieve uitvoering van bepaalde bewerkingen.

De Spectre-aanval vereist de aanwezigheid van een specifieke reeks opdrachten in de geprivilegieerde code, wat leidt tot speculatieve uitvoering van instructies. In eBPF zijn verschillende manieren gevonden om dergelijke instructies te genereren door middel van manipulaties met BPF-programma's die worden verzonden voor hun uitvoering.

  • De kwetsbaarheid van CVE-2020-27170 wordt veroorzaakt door pointermanipulaties in de BPF-checker, waardoor speculatieve operaties toegang krijgen tot een gebied buiten de buffer.
  • De kwetsbaarheid van CVE-2020-27171 is gerelateerd aan een integer-underflow-bug bij het werken met pointers, wat leidt tot speculatieve toegang tot gegevens die niet in de buffer zitten.

Deze problemen zijn al opgelost in kernelversies 5.11.8, 5.10.25, 5.4.107, 4.19.182 en 4.14.227, en zijn opgenomen in kernelupdates voor de meeste Linux-distributies. Onderzoekers hebben een exploit-prototype voorbereid waarmee een onbevoegde gebruiker gegevens uit het kernelgeheugen kan ophalen.

Wat betreft een van de oplossingen die voorgesteld binnen Red Hat is:

Beperking:

Dit probleem treft standaard niet de meeste systemen. Een beheerder zou het BPF JIT moeten hebben getroffen.

Het kan onmiddellijk worden uitgeschakeld met het commando:

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

Of het kan worden uitgeschakeld voor alle volgende systeemstartprogramma's door een waarde in te stellen in /etc/sysctl.d/44-bpf -jit-disable

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

Eindelijk als u er meer over wilt weten over deze kwetsbaarheid, kunt u de details inzien de volgende link.

Het is vermeldenswaard dat het probleem aanhoudt tot versie 5.11.12 (inclusief) en nog niet is opgelost in de meeste distributies, ook al is de correctie al aanwezig. verkrijgbaar als patch.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.