De upptäckte en sårbarhet i delsystemet Linux eBPF

Nyligen bröt nyheten ut det en sårbarhet identifierades (CVE-2021-29154) i delsystemet eBPF, som sidTillåter körning av spårning, undersystemsanalys och trafikstyrning körs inuti Linux-kärnan i en speciell JIT-virtuell maskin som tillåter en lokal användare att köra din kod på kärnnivå.

Enligt forskarna som identifierade sårbarheten kunde de utveckla en fungerande prototyp för en exploatering för 86-bitars och 32-bitars x64-system som kan användas av en privilegierad användare.

Samtidigt, Red Hat konstaterar att svårighetsgraden av problemet beror på tillgången till eBPF-systemanropet. för användaren. Till exempel, på RHEL och de flesta andra Linux-distributioner som standard kan sårbarheten utnyttjas när BPF JIT är aktiverat och användaren har CAP_SYS_ADMIN-rättigheter.

Ett problem har upptäckts i Linux-kärnan som de kan missbruka
icke-privilegierade lokala användare för att eskalera privilegier.

Problemet är hur BPF JIT-kompilatorerna beräknar för vissa arkitekturer
Grenförskjutningar vid generering av maskinkod. Detta kan missbrukas
för att skapa avvikande maskinkod och köra den i kärnläge,
där kontrollflödet kapas för att utföra osäker kod.

Och det är att de beskriver det problemet orsakas av ett fel som genereras vid beräkningen av förskjutningsinstruktionernas förskjutning under JIT-kompilatorn som genererar maskinkoden.

I synnerhet nämns det att när man genererar förgreningsinstruktionerna tas det inte hänsyn till att förskjutningen kan förändras efter att ha gått igenom optimeringssteget, så detta misslyckande kan användas för att generera avvikande maskinkod och utföra den på nivåkärnan.

Det bör noteras att Detta är inte den enda sårbarheten i delsystemet eBPF som har blivit känt de senaste åren, sedan i slutet av mars identifierades ytterligare två sårbarheter i kärnan (CVE-2020-27170, CVE-2020-27171), som ger möjlighet att använda eBPF för att kringgå skydd mot Specter-klassens sårbarheter, vilket gör det möjligt att bestämma innehållet i kärnminnet och vilket resulterar i att det skapas förutsättningar för spekulativ körning av vissa operationer.

Spectre-attacken kräver närvaro av en specifik sekvens av kommandon i den privilegierade koden, vilket leder till spekulativ körning av instruktioner. I eBPF har flera sätt hittats att generera sådana instruktioner med hjälp av manipulationer med BPF-program som överförs för deras körning.

  • CVE-2020-27170-sårbarheten orsakas av pekmanipulationer i BPF-kontrollen, vilket gör att spekulativa åtgärder får åtkomst till ett område utanför bufferten.
  • CVE-2020-27171-sårbarheten är relaterad till ett heltal underflödesfel när du arbetar med pekare, vilket leder till spekulativ åtkomst till data utanför bufferten.

Dessa problem har redan fixats i kärnversionerna 5.11.8, 5.10.25, 5.4.107, 4.19.182 och 4.14.227 och har inkluderats i kärnuppdateringar för de flesta Linux-distributioner. Forskare har förberett en exploateringsprototyp som gör det möjligt för en oprivierad användare att hämta data från kärnminnet.

När det gäller en av de lösningar som föreslås inom Red Hat är:

Lättnad:

Det här problemet påverkar inte de flesta system som standard. En administratör måste ha aktiverat BPF JIT.

Det kan inaktiveras omedelbart med kommandot:

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

Eller det kan inaktiveras för alla efterföljande systemstart genom att ange ett värde i /etc/sysctl.d/44-bpf -jit-disable

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

Slutligen om du är intresserad av att veta mer om det om denna sårbarhet kan du kolla in detaljerna följande länk.

Det är värt att nämna att problemet kvarstår fram till version 5.11.12 (inklusive) och ännu inte har lösts i de flesta distributioner, även om korrigeringen redan är på plats. finns som en lapp.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.