Zraniteľnosť v module ksmbd jadra Linux, ktorá umožňuje vzdialene vykonať vlastný kód

V module ksmbd, ktorý obsahuje vstavanú implementáciu súborového servera v jadre Linux na báze protokolu SMB, bola zistená kritická zraniteľnosť, ktorá umožňuje vzdialene dosiahnuť vykonanie vlastného kódu s právami jadra. Útok možno vykonať bez autentifikácie, stačí, aby bol na systéme aktivovaný modul ksmbd. Problém sa objavuje od jadra 5.15, vydaného v novembri 2021, a bol bez zbytočného zverejnenia opravený v aktualizáciách 5.15.61, 5.18.18 a 5.19.2, vytvorených v auguste 2022. Keďže CVE identifikátor problému ešte nebol pridelený, presné informácie o oprave problému v distribúciách zatiaľ nie sú.

Podrobnosti o zneužití zraniteľnosti zatiaľ nie sú zverejnené, je známe len to, že zraniteľnosť je spôsobená prístupom k už uvoľnenej oblasti pamäte (Use-After-Free) z dôvodu nedostatku kontroly existencie objektu pred vykonaním operácií s ním. Problém súvisí s tým, že vo funkcii smb2_tree_disconnect() sa uvoľnila pamäť pridelená pre štruktúru ksmbd_tree_connect, ale po tom zostal ukazovateľ, ktorý sa používal pri spracovaní určitých externých požiadaviek obsahujúcich príkazy SMB2_TREE_DISCONNECT.

Okrem spomínanej zraniteľnosti v ksmbd boli opravené aj 4 menej závažné problémy:

  • ZDI-22-1688 — vzdialené vykonanie kódu s právami jadra z dôvodu nedostatku spracovania atribútov súborov a kontroly skutočnej veľkosti externých dát pred ich kopírovaním do prideleného vyrovnávacieho priestoru. Nebezpečenstvo zraniteľnosti zmierňuje to, že útok je možné uskutočniť iba autentifikovaným používateľom.
  • ZDI-22-1691 — vzdialený únik informácií z pamäte jadra z dôvodu nesprávneho overovania vstupných parametrov v spracovateľovi príkazu SMB2_WRITE (útok je možné uskutočniť iba autentifikovaným používateľom).
  • ZDI-22-1687 — vzdialený útok na odmietnutie služby prostredníctvom vyčerpania dostupnej pamäte v systéme z dôvodu nesprávneho uvoľnenia zdrojov v spracovateľovi príkazu SMB2_NEGOTIATE (útok možno vykonať bez autentifikácie).
  • ZDI-22-1689 — vzdialený volanie pádu jadra z dôvodu nedostatočnej kontroly parametrov príkazu SMB2_TREE_CONNECT, čo vedie k čítaniu z oblasti mimo vyrovnávacieho priestoru (útok je možné uskutočniť iba autentifikovaným používateľom).

Podpora prevádzky SMB servera pomocou modulu ksmbd je dostupná v balíku Samba od verzie 4.16.0. Na rozdiel od SMB servera, ktorý funguje v užívateľskom priestore, je ksmbd efektívnejší z pohľadu výkonu, spotreby pamäte a integrácie s rozšírenými možnosťami jadra. Ksmbd je prezentovaný ako vysoko výkonný a pripravený na nasadenie na zabudovaných zariadeniach, pričom sa dá v prípade potreby integrovať s nástrojmi a knižnicami Samba. Autormi kódu ksmbd sú Namjae Jeon zo spoločnosti Samsung a Hyunchul Lee z LG, pričom jeho údržbu v jadre zabezpečuje Steve French z Microsoftu, správca podsystemu CIFS/SMB2/SMB3 v jadre Linux a dlhodobý účastník tímu vývojárov Samba, ktorý významne prispel k implementácii podpory protokolov SMB/CIFS v Samba a Linuxe.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster