Chyba zabezpečení v modulu ksmbd linuxového jádra, která vám umožňuje vzdáleně spouštět váš kód

V modulu ksmbd byla identifikována kritická chyba zabezpečení, která zahrnuje implementaci souborového serveru založeného na protokolu SMB zabudovaném do jádra Linuxu, který vám umožňuje vzdáleně spouštět váš kód s právy jádra. Útok lze provést bez autentizace, stačí, aby byl v systému aktivován modul ksmbd. Problém se objevuje od jádra 5.15, vydaného v listopadu 2021, a byl v tichosti opraven v aktualizacích 5.15.61, 5.18.18 a 5.19.2 vydaných v srpnu 2022. Vzhledem k tomu, že k problému ještě nebyl přiřazen identifikátor CVE, neexistují žádné přesné informace o tom, jak problém v distribucích opravit.

Podrobnosti o zneužití zranitelnosti dosud nebyly zveřejněny, ví se pouze, že zranitelnost je způsobena přístupem do již uvolněné oblasti paměti (Use-After-Free) kvůli chybějící kontrole existence objektu před provedením operací. na to. Problém je způsoben tím, že funkce smb2_tree_disconnect() uvolnila paměť alokovanou pro strukturu ksmbd_tree_connect, ale poté se stále používal ukazatel při zpracování určitých externích požadavků obsahujících příkazy SMB2_TREE_DISCONNECT.

Kromě zmíněné zranitelnosti byly v ksmbd opraveny také 4 méně nebezpečné problémy:

  • ZDI-22-1688 - vzdálené spuštění kódu s právy jádra kvůli tomu, že kód pro zpracování atributů souboru nekontroluje skutečnou velikost externích dat před jejich zkopírováním do vyhrazené vyrovnávací paměti. Zranitelnost je zmírněna tím, že útok může provést pouze ověřený uživatel.
  • ZDI-22-1691 - vzdálený únik informací z paměti jádra z důvodu nesprávné kontroly vstupních parametrů v handleru příkazu SMB2_WRITE (útok může provést pouze ověřený uživatel).
  • ZDI-22-1687 - vzdálené odmítnutí služby způsobené vyčerpáním dostupné paměti v systému v důsledku nesprávného uvolnění prostředků v handleru příkazu SMB2_NEGOTIATE (útok lze provést bez ověření).
  • ZDI-22-1689 - Vzdálené zhroucení jádra kvůli nedostatečnému řádnému ověření parametrů příkazu SMB2_TREE_CONNECT, což má za následek čtení z oblasti mimo vyrovnávací paměť (útok může provést pouze ověřený uživatel).

Podpora pro provoz SMB serveru pomocí modulu ksmbd je přítomna v balíčku Samba od verze 4.16.0. Na rozdíl od serveru SMB v uživatelském prostoru je ksmbd efektivnější z hlediska výkonu, spotřeby paměti a integrace s pokročilými funkcemi jádra. Ksmbd je nabízen jako vysoce výkonné, vestavěné rozšíření Samba, které se podle potřeby integruje s nástroji a knihovnami Samba. Kód ksmbd napsali Namjae Jeon ze Samsungu a Hyunchul Lee z LG a jádro spravuje Steve French z Microsoftu, správce subsystémů CIFS/SMB2/SMB3 v jádře Linuxu a dlouholetý člen vývojového týmu Samba. , který významně přispěl k implementaci podpory protokolů SMB/CIFS v Sambě a Linuxu.

Zdroj: opennet.ru

Přidat komentář