Oppdaget en feil i Linux-søppelsamleren som kan føre til rettighetseskalering 

systemd sårbarhet

Noen dager siden Jann Horn fra Google Project Zero-teamet, som tidligere identifiserte Spectre og Meltdown-sårbarhetene, avduket en teknikk for å utnytte en sårbarhet funnet i Linux-kjerne-søppelsamleren (CVE-2021-4083).

Sårbarhet er forårsaket av en rasetilstand når unix socket filbeskrivelser er renset og muligens lar en uprivilegert lokal bruker kjøre koden din på kjernenivå.

Problemet er interessant fordi tidsvinduet der løpstilstanden oppstår ble vurdert som for liten å skape reelle sårbarheter, men forfatteren av studien viste at selv i utgangspunktet skeptiske sårbarheter kan bli en kilde til reelle angrep hvis skaperen av sårbarheten har de nødvendige ferdighetene og tiden.

Yann Horn viste hvordan det ved hjelp av filigranmanipulasjoner er mulig å redusere tilstanden En rasehendelse som oppstår når du kaller close() og fget() fungerer samtidig til en fullt utnyttet bruk-etter-fri sårbarhet og får tilgang til en allerede frigjort datastruktur i kjernen.

En rasetilstand oppstår under prosessen med å lukke en filbeskrivelse mens du kaller funksjonene close() og fget() samtidig. Anropet til close() kan utføres før fget() utføres, noe som vil forvirre gjenstandssamleren ubrukt fordi filstrukturen ifølge refcount ikke vil ha noen eksterne referanser, men vil forbli knyttet til filbeskrivelsen, dvs. søppeloppsamleren vil anta at den har eksklusiv tilgang til strukturen, men faktisk for en kort periode, den gjenværende oppføringen i filbeskrivelsestabellen vil fortsette å indikere at strukturen frigjøres.

For å øke sannsynligheten inn i en løpstilstand, flere triks ble brukt som tillot å øke sannsynligheten for suksess av eierandelen på 30 % når du utfører spesifikke systemoptimaliseringer. For å for eksempel øke tilgangstiden til en struktur med filbeskrivelser med flere hundre nanosekunder, ble dataene spylt ut av prosessorcachen ved å forurense cachen med aktivitet på en annen CPU-kjerne, noe som gjorde det mulig å returnere strukturen fra minnet og ikke CPUens hurtigbuffer.

Den andre viktige funksjonen var bruken av avbrudd generert av en maskinvaretimer for å øke løpstiden. Tidspunktet ble valgt slik at avbruddsbehandleren skulle skyte under forekomsten av løpstilstanden og avbryte kjøringen av kode en stund. For ytterligere å forsinke returen av kontroll genererte epoll rundt 50 tusen oppføringer i køen, noe som krevde en iterasjon i avbruddsbehandleren.

teknikken sårbarhetsutnyttelse ble offentliggjort etter en 90-dagers taushetserklæring. Problemet

og det ble fikset i begynnelsen av desember. Rettelsen ble inkludert i 5.16-kjernen og ble også flyttet til LTS-grenene til kjernen og pakkene med kjernen levert i distribusjonene. Det bør bemerkes at sårbarheten ble identifisert under analyse av et lignende problem CVE-2021-0920, som manifesterer seg i søppelsamleren når MSG_PEEK-flagget behandles.

En annen sårbarhet som ble funnet nylig i Linux-kjernen var det CVE-2022-0742 que kan tømme tilgjengelig minne og eksternt forårsake tjenestenekt ved å sende spesiallagde icmp6-pakker. Problemet er relatert til en minnelekkasje som oppstår ved behandling av ICMPv6-meldinger med type 130 eller 131.

Problemet har vært tilstede siden kjerne 5.13 og ble løst i versjon 5.16.13 og 5.15.27. Problemet påvirket ikke Debian, SUSE, Ubuntu LTS (18.04, 20.04) og RHEL stabile grener, det ble løst på Arch Linux.

Endelig hvis du er interessert i å vite mer om det av notatet, kan du sjekke detaljene følgende lenke.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.