Dirty Pipe: en sårbarhed, der gør det muligt at overskrive data

For nylig brød nyheden det en sårbarhed blev identificeret i Linux-kernen og som allerede er katalogiseret under CVE-2022-0847, og som de har navngivet som "Snavset rør".

Denne sårbarhed kaldet "Dirty Pipe"giver mulighed for at overskrive indholdet af cachen af siden for enhver fil, inklusive dem, der er indstillet til skrivebeskyttet, åbnet med O_RDONLY-flaget eller placeret på filsystemer, der er monteret skrivebeskyttet.

På den praktiske side, sårbarheden kunne bruges til at indsprøjte kode i vilkårlige processer eller korrupte data i åbne filer. For eksempel kan du ændre indholdet af filen authorized_keys for sshd-processen.

Om Dirty Pipe

Det ligner den kritiske sårbarhed Dirty COW identificeret i 2016 og Dirty Pipe er nævnt at være på samme niveau som Dirty COW med hensyn til fare, men at denne er meget nemmere at betjene.

Dirty Pipe blev identificeret under analysen af ​​klager over periodiske skader på arkiver downloadet over netværket på et system, der downloader komprimerede filer fra en logningsserver (37 skader på 3 måneder på et indlæst system), som blev forberedt ved hjælp af splice()-operationen og unavngivne rør.

Sårbarhed har manifesteret sig siden Linux-kerneversion 5.8, udgivet i august 2020.

Set på en anden måde kan vi sige, at det er til stede i Debian 11, men det påvirker ikke basiskernen i Ubuntu 20.04 LTS, mens for RHEL 8.x og openSUSE/SUSE 15 kerner, der oprindeligt er baseret på gamle grene, men det er muligt at ændringen, der forårsager problemet, er blevet overført til dem (der er endnu ingen nøjagtige data).

Sårbarheden skyldes manglende initialisering af værdien "buf->flags" i koden for funktionerne copy_page_to_iter_pipe() og push_pipe(), på trods af at hukommelsen ikke er ryddet, når strukturen er allokeret, og med visse manipulationer med unavngivne pipes, "buf->flags" kan indeholde en værdi fra en anden operation. Med denne funktion kan en uprivilegeret lokal bruger opnå udseendet af PIPE_BUF_FLAG_CAN_MERGE-værdien i flaget, hvilket giver dem mulighed for at overskrive data i sidecachen blot ved at skrive nye data til et specielt forberedt unavngivet rør.

for et angreb kan gøres, skal du bruge en målfil, der skal kunne læses og da adgangsrettigheder ikke kontrolleres, når der skrives til et rør, kan en udskiftning udføres på sidecachen, selv for filer, der er placeret på skrivebeskyttede partitioner (f.eks. for c CD-ROM-filer).

Med dette, efter at have erstattet informationen i sidecachen, vil processen, når du læser dataene fra filen, ikke modtage de rigtige data, men de erstattede.

Det nævnes det Dirty Pipe-operationen går ud på at skabe et unavngivet rør og fylde det med vilkårlige data for at opnå indstilling af PIPE_BUF_FLAG_CAN_MERGE-flaget på alle ringstrukturer forbundet med det.

Dataene læses derefter fra pipen, men flaget forbliver indstillet på alle forekomster af pipe_buffer-strukturen i pipe_inode_info-ringstrukturerne. Et kald til splice() foretages derefter for at læse dataene fra destinationsfilen til et unavngivet rør, startende ved den påkrævede offset. Når du skriver data til denne unavngivne pipe, vil flaget PIPE_BUF_FLAG_CAN_MERGE overskrive dataene i sidecachen i stedet for at skabe en ny forekomst af pipe_buffer-strukturen.

Endelig Hvis du er interesseret i at vide mere om det, du kan tjekke detaljerne i den originale note I det følgende link.

Også hvis du er interesseret i kunne følge med i eller kende til offentliggørelse af opdateringer af pakker i hoveddistributionerne, kan du gøre det fra disse sider: DebianSUSEUbuntuRHELFedoraGentooArchLinux.

Det nævnes, at den foreslåede sårbarhedsrettelse er tilgængelig i Linux Kernel versioner 5.16.11, 5.15.25 og 5.10.102, og rettelsen er også inkluderet i kernen, der bruges på Android-platformen.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.