Dirty Pipe: en sårbarhet som gjør at data kan overskrives

Nylig brøt nyheten det en sårbarhet ble identifisert i Linux-kjernen og som allerede er katalogisert under CVE-2022-0847 og som de har navngitt som "Dirty Pipe".

Denne sårbarheten kalt "Dirty Pipe"lar deg overskrive innholdet i hurtigbufferen av siden for enhver fil, inkludert de som er satt til skrivebeskyttet, åpnet med O_RDONLY-flagget, eller plassert på filsystemer montert skrivebeskyttet.

På den praktiske siden, sårbarheten kan brukes til å injisere kode i vilkårlige prosesser eller korrupte data i åpne filer. Du kan for eksempel endre innholdet i filen authorized_keys for sshd-prosessen.

Om Dirty Pipe

Det ligner på den kritiske sårbarheten Dirty COW identifisert i 2016 og Dirty Pipe er nevnt å være på samme nivå som Dirty COW når det gjelder fare, men at denne er mye enklere å betjene.

Dirty Pipe ble identifisert under analysen av klager på periodisk skade på arkiver lastet ned over nettverket på et system som laster ned komprimerte filer fra en loggserver (37 skader på 3 måneder på et lastet system), som ble klargjort ved bruk av spleise()-operasjonen og ikke navngitte rør.

Sårbarhet har vist seg siden Linux-kjernen versjon 5.8, utgitt i august 2020.

Sett på en annen måte kan vi si at den er til stede i Debian 11, men den påvirker ikke basiskjernen i Ubuntu 20.04 LTS, mens for RHEL 8.x og openSUSE/SUSE 15 kjerner som opprinnelig er basert på gamle grener, men det er mulig at endringen som forårsaker problemet er overført til dem (det er ingen eksakte data ennå).

Sårbarheten skyldes manglende initialisering av verdien "buf->flags" i koden til funksjonene copy_page_to_iter_pipe() og push_pipe(), til tross for at minnet ikke blir tømt når strukturen er allokert, og med visse manipulasjoner med navnløse pipes, "buf->flags" kan inneholde en verdi fra en annen operasjon. Med denne funksjonen kan en uprivilegert lokal bruker oppnå utseendet til PIPE_BUF_FLAG_CAN_MERGE-verdien i flagget, slik at de kan overskrive data i sidebufferen ganske enkelt ved å skrive nye data til et spesielt forberedt navngitt rør.

for et angrep kan gjøres, trenger du en målfil som må være lesbar og siden tilgangsrettigheter ikke kontrolleres når du skriver til en pipe, kan en erstatning utføres på sidebufferen, selv for filer som ligger på skrivebeskyttede partisjoner (for eksempel for c CD-ROM-filer).

Med dette, etter å ha erstattet informasjonen i sidebufferen, vil prosessen, når du leser dataene fra filen, ikke motta de virkelige dataene, men de erstattede.

Det er nevnt at Dirty Pipe-operasjonen koker ned til å lage et navnløst rør og fylle det med vilkårlige data for å oppnå innstilling av PIPE_BUF_FLAG_CAN_MERGE-flagget på alle ringstrukturer knyttet til det.

Dataene leses deretter fra pipen, men flagget forblir satt på alle forekomster av pipe_buffer-strukturen i pipe_inode_info-ringstrukturene. Et kall til splice() blir deretter foretatt for å lese dataene fra destinasjonsfilen til et ikke navngitt rør, og starter med den nødvendige offset. Når du skriver data til denne ikke navngitte pipen, vil PIPE_BUF_FLAG_CAN_MERGE-flagget overskrive dataene i sidebufferen i stedet for å lage en ny forekomst av pipe_buffer-strukturen.

Endelig Hvis du er interessert i å vite mer om det, du kan sjekke detaljene i det originale notatet I den følgende lenken.

Også hvis du er interessert i kunne følge med på eller vite om publisering av oppdateringer av pakker i hoveddistribusjonene, kan du gjøre det fra disse sidene: DebianSUSEUbuntuRHELFedoraGentooArchLinux.

Det nevnes at den foreslåtte sårbarhetsfiksen er tilgjengelig i Linux Kernel-versjoner 5.16.11, 5.15.25 og 5.10.102, og rettelsen er også inkludert i kjernen som brukes på Android-plattformen.


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.