Zraniteľnosť v systémovom volaní execve, poskytujúca root prístup vo FreeBSD

Vo FreeBSD bola zistená zraniteľnosť (CVE-2026-7270), ktorá umožňuje neprivilegovanému používateľovi vykonať kód s právami jadra a získať root prístup k systému. Zraniteľnosť sa týka všetkých vydaní FreeBSD vyprodukovaných od roku 2013. V otvorenom prístupe je umiestnený exploit, ktorého funkčnosť bola overená na systémoch s FreeBSD 11.0 až 14.4. Zraniteľnosť bola odstránená v aktualizáciách FreeBSD 15.0-RELEASE-p7, 14.4-RELEASE-p3, 14.3-RELEASE-p12 a 13.5-RELEASE-p13. Pre staršie verzie je možné použiť záplatu.

Problém spôsobuje pretečenie zásobníka v systémovom volaní execve, ktoré nastáva pri spracovaní prefixu uvádzaného v prvej riadku skriptov na určenie cesty k interpretu (napríklad "#!\/bin\/sh"). Pretečenie nastáva pri volaní funkcie memmove kvôli nesprávnej formulácii matematického výrazu na výpočet veľkosti kopírovaných argumentov do zásobníka. Namiesto odčítania z "args->endp" hodnôt "args->begin_argv" a "consume" sa z "args->endp" odčítalo iba hodnotu "args->begin_argv", zatiaľ čo premenná consume sa k výsledku pridávala, nie odčítavala, čím sa nakoniec kopírovalo viac údajov o dve hodnoty "consume". memmove(args->begin_argv + extend, args->begin_argv + consume, — args->endp — args->begin_argv + consume); + args->endp — (args->begin_argv + consume));

Pretečenie umožňuje prepísať položky štruktúry "exec_map" umiestnené v susednej oblasti pamäte od iného procesu. V exploite je pretečenie využité na prepísanie obsahu "exec_map" pravidelne spúšťaných privilegovaných procesov v systéme. Ako takýto proces bol vybraný sshd, ktorý pri každom nadviazaní sieťového spojenia oddeľuje cez volanie fork a execve proces "\/usr\/libexec\/sshd-session" s právami root.

Exploit vkladá pre daný proces premennú prostredia "LD_PRELOAD=\/tmp\/evil.so", čo vedie k načítaniu svojej knižnice v kontexte sshd-session. Vkladaná knižnica vytvára v súborovom systéme spustiteľný súbor \/tmp\/rootsh s flagom suid root. Pravdepodobnosť úspešného pretečenia sa odhaduje na 0,6 %, ale vďaka cyklickému opakovaniu pokusov sa úspešná exploitácia dosahuje približne za 6 sekúnd na systéme so 4-jadrovým CPU.

Zraniteľnosť v systémovom volaní execve, poskytujúca root prístup vo FreeBSD

Okrem toho bolo vo FreeBSD odstránených ešte niekoľko zraniteľností:

  • CVE-2026-35547, CVE-2026-39457 — preplnenia vyrovnávacej pamäte v knižnici libnv, používané v jadre a aplikáciách z základného systému na spracovanie zoznamov vo formáte kľúč/hodnota a na organizovanie prenosu údajov pri medzi procesovom interakcii. Prvý problém je spôsobený nesprávnym výpočtom veľkosti správy pri spracovávaní špeciálne formátovaných hlavičiek IPC správ. Druhý problém vedie k preplneniu zásobníka pri výmene údajov cez soket kvôli nedostatku kontroly zhody veľkosti popisovača soketu s veľkosťou vyrovnávacej pamäte používanou v funkcii select(). Potenciálne zraniteľnosti môžu byť využité na zvýšenie svojich oprávnení v systéme.
  • CVE-2026-42512 — vzdialene zneužiteľné preplnenie vyrovnávacej pamäte v dhclient, vznikajúce z dôvodu nekorektného výpočtu veľkosti poľa ukazovateľov, ktoré sa používa na prenos premenných prostredia do dhclient-script. Nezanedbateľná je možnosť vytvorenia exploit pre vzdialené vykonanie kódu prostredníctvom zaslania špeciálne formátovaného DHCP balíka.
  • CVE-2026-7164 — preplnenie zásobníka v paketovom filtre pf, vznikajúce pri spracovaní špeciálne formátovaných balíkov SCTP. Problém je spôsobený neobmedzeným rekurzívnym rozparsovaním parametrov SCTP.
  • CVE-2026-42511 — možnosť substitúcie v dhclient.conf ľubovoľných direktív z dôvodu nedostatočného escapovania dvojitých zátvoriek v BOOTP poliach, prijatých od externého DHCP servera. Pri následnom rozparsovaní tohto súboru procesom dhclient, konkrétne pole zadané útočníkom je predané do dhclient-script, čo môže byť využité na vykonávanie ľubovoľných príkazov s právami root na systémoch používajúcich dhclient, pri prístupe k pod kontrolou útočníka DHCP servera.
  • CVE-2026-6386 — nedostatočné spracovanie veľkých strán pamäte v jadrovej funkcii pmap_pkru_update_range(). Nepovolený užívateľ môže donútiť pmap_pkru_update_range() spracovať pamäť zo priestoru užívateľa ako stránku v tabuľke strán pamäte, a dosiahnuť prepisovanie oblastí pamäte, ku ktorým nemá prístup.
  • CVE-2026-5398 — prístup k už uvoľnenej oblasti pamäte v spracovateľovi TIOCNOTTY, čo umožňuje nepovolenému procesu získať práva root.

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