Dirty Pipe: zraniteľnosť, ktorá umožňuje prepisovanie údajov

To nedávno prelomili správy v jadre Linuxu bola identifikovaná zraniteľnosť a ktorý je už katalogizovaný pod CVE-2022-0847 a ktorý pomenovali ako "špinavé potrubie".

Táto zraniteľnosť sa nazýva „špinavé potrubie“umožňuje prepísať obsah vyrovnávacej pamäte stránky pre ľubovoľný súbor, vrátane tých, ktoré sú nastavené len na čítanie, otvárané s príznakom O_RDONLY alebo umiestnené na súborových systémoch pripojených len na čítanie.

Z praktickej stránky je to zraniteľnosť možno použiť na vloženie kódu do ľubovoľných procesov alebo poškodené údaje v otvorených súboroch. Môžete napríklad zmeniť obsah súboru autorizované kľúče pre proces sshd.

O Dirty Pipe

Je to podobné ako kritická zraniteľnosť Dirty COW identifikované v roku 2016 a uvádza sa, že Dirty Pipe je z hľadiska nebezpečenstva na rovnakej úrovni ako Dirty COW, ale že tento sa ovláda oveľa jednoduchšie.

Špinavá rúrka bola identifikovaná počas analýzy sťažností na pravidelné poškodzovanie archívov stiahnuté cez sieť v systéme, ktorý sťahuje komprimované súbory z protokolovacieho servera (37 poškodení za 3 mesiace na načítanom systéme), ktoré boli pripravené pomocou operácie splice() a nepomenovaných kanálov.

Zraniteľnosť sa prejavuje od linuxového jadra verzie 5.8, vydaný v auguste 2020.

Z iného hľadiska môžeme povedať, že je prítomný v Debiane 11, ale neovplyvňuje základné jadro v Ubuntu 20.04 LTS, zatiaľ čo pre jadrá RHEL 8.x a openSUSE/SUSE 15, ktoré sú pôvodne založené na starých vetvách, je však možné že sa im preniesla zmena, ktorá spôsobuje problém (zatiaľ neexistujú presné údaje).

Zraniteľnosť je spôsobená nedostatočnou inicializáciou hodnoty "buf->flags" v kóde funkcií copy_page_to_iter_pipe() a push_pipe(), a to napriek tomu, že pamäť nie je vyčistená pri prideľovaní štruktúry, a s určitými manipuláciami s nepomenovanými potrubia, "buf->flags" môžu obsahovať hodnotu z inej operácie. Pomocou tejto funkcie môže neprivilegovaný lokálny používateľ dosiahnuť vzhľad hodnoty PIPE_BUF_FLAG_CAN_MERGE v príznaku, čo mu umožní prepísať údaje vo vyrovnávacej pamäti stránok jednoduchým zápisom nových údajov do špeciálne pripravenej nepomenovanej trubice.

za útok môžete urobiť, potrebujete cieľový súbor, ktorý musí byť čitateľný a keďže pri zápise do kanála sa nekontrolujú prístupové práva, je možné vykonať nahradenie vo vyrovnávacej pamäti stránok, a to aj v prípade súborov umiestnených na oddieloch určených len na čítanie (napríklad súbory c CD-ROM).

Vďaka tomu po nahradení informácií vo vyrovnávacej pamäti stránky proces pri čítaní údajov zo súboru neprijme skutočné údaje, ale nahradené.

Je to spomenuté operácia Dirty Pipe sa scvrkáva na vytvorenie nepomenovaného potrubia a jeho naplnenie ľubovoľnými údajmi aby sa dosiahlo nastavenie príznaku PIPE_BUF_FLAG_CAN_MERGE na všetkých kruhových štruktúrach, ktoré sú s ním spojené.

Údaje sa potom načítajú z potrubia, ale príznak zostáva nastavený na všetkých inštanciách štruktúry pipe_buffer v kruhových štruktúrach pipe_inode_info. Potom sa uskutoční volanie funkcie splice() na načítanie údajov z cieľového súboru do nepomenovaného kanála, počnúc požadovaným posunom. Pri zapisovaní údajov do tohto nepomenovaného kanála príznak PIPE_BUF_FLAG_CAN_MERGE prepíše údaje vo vyrovnávacej pamäti stránok namiesto vytvorenia novej inštancie štruktúry pipe_buffer.

Konečne Ak máte záujem dozvedieť sa viac, podrobnosti si môžete skontrolovať v pôvodnej poznámke Na nasledujúcom odkaze.

Taktiež, ak máte záujem o byť schopný sledovať alebo vedieť o zverejňovaní aktualizácií balíkov v hlavných distribúciách, môžete to urobiť z týchto stránok: debianSUSEubuntuRHELFedoragentooArchLinux.

Uvádza sa, že navrhovaná oprava zraniteľnosti je k dispozícii vo verziách jadra Linuxu 5.16.11, 5.15.25 a 5.10.102 a oprava je tiež zahrnutá v jadre používanom na platforme Android.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.