Upptäckte en bugg i Linux garbage collector som kan leda till privilegieskalering 

systemd sårbarhet

Några dagar sen Jann Horn från Google Project Zero-teamet, som tidigare identifierade Spectre och Meltdown sårbarhet, släppt en teknik för att utnyttja en sårbarhet som den hittade i Linux-kärnan garbage collector (CVE-2021-4083).

Sårbarhet orsakas av ett rastillstånd när unix-socket-filbeskrivningar rensas upp och tillåter potentiellt en oprivilegierad lokal användare att köra din kod på kärnnivå.

Problemet är intressant eftersom tidsfönstret under vilket tävlingstillståndet inträffar bedömdes som för liten för att skapa verkliga sårbarheter, men studieförfattaren visade att även initialt skeptiska sårbarheter kan bli en källa till verkliga attacker om sårbarhetsskaparen har nödvändiga kunskaper och tid.

Yann Horn visade hur det med hjälp av filigranmanipulationer går att minska tillståndet av en ras som uppstår när funktionerna close() och fget() anropas samtidigt till en fullt utnyttjad use-after-free sårbarhet och får tillgång till en redan frigjord datastruktur i kärnan.

Ett rastillstånd uppstår under processen att stänga en filbeskrivning samtidigt som funktionerna close() och fget() anropas. Anropet till close() kan exekveras innan fget() exekveras, vilket kommer att förvirra samlaren oanvänd eftersom filstrukturen enligt återräkning inte kommer att ha några externa referenser utan kommer att förbli kopplad till filbeskrivningen, dvs. sophämtaren kommer att anta att den har exklusiv tillgång till strukturen, men i själva verket under en kort tidsperiod .tid kommer den återstående posten i filbeskrivningstabellen fortfarande att indikera att strukturen frigörs.

För att öka sannolikheten att gå in i ett tävlingstillstånd, olika knep användes som gjorde det möjligt att öka sannolikheten för framgång från gård till 30% när du utför systemspecifika optimeringar. Till exempel, för att öka åtkomsttiden till en struktur med filbeskrivningar med flera hundra nanosekunder, kastades data från processorcachen genom att förorena cachen med aktivitet på en annan CPU-kärna, vilket gjorde det möjligt att returnera strukturen från minnet och inte från snabb cache för processorn.

Den andra viktiga egenskapen var med användning av avbrott som genereras av en hårdvarutimer för att öka tävlingstiden. Tiden valdes för avbrottshanteraren att avfyra under uppkomsten av tävlingstillståndet och avbryta exekveringen av koden ett tag. För att ytterligare fördröja återgången av kontrollen genererade epoll cirka 50 XNUMX köposter, vilket krävde en iteration i avbrottshanteraren.

Tekniken exploatering av sårbarhet avslöjades efter en 90-dagars sekretessperiod. Problemet

och det fixades i början av december. Fixeringen inkluderades i 5.16-kärnan och portades även till LTS-kärngrenarna och kärnpaketen som tillhandahålls i distributionerna. Det bör noteras att sårbarheten identifierades under analys av ett liknande problem CVE-2021-0920, som manifesterar sig i sopsamlaren vid bearbetning av MSG_PEEK-flaggan.

En annan sårbarhet som hittades nyligen i Linux-kärnan, var CVE-2022-0742 que kan tömma tillgängligt minne och på distans orsaka ett överbelastningsskydd genom att skicka specialgjorda icmp6-paket. Problemet är relaterat till en minnesläcka som uppstår vid bearbetning av ICMPv6-meddelanden med typ 130 eller 131.

Problemet har funnits sedan kärnan 5.13 och har åtgärdats i versionerna 5.16.13 och 5.15.27. Problemet påverkade inte Debian, SUSE, Ubuntu LTS (18.04, 20.04) och RHEL stabila grenar, det fixades i Arch Linux.

Slutligen om du är intresserad av att veta mer om det av noten kan du se detaljerna i följande länk.


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.