V modulu ksmbd, který nabízí integrovanou v kernelu Linux implementaci souborového serveru na bázi protokolu SMB, bylo zjištěno 14 zranitelností, z nichž čtyři umožňují vzdálené provedení vlastního kódu s právy kernelu. Útok může být proveden bez autentizace, stačí, aby byl modul ksmbd v systému aktivován. Problematika se projevuje od jádra 5.15, do kterého byl modul ksmbd přijat. Zranitelnosti byly odstraněny v aktualizacích jader 6.3.2, 6.2.15, 6.1.28 a 5.15.112. Opravy je možné sledovat v distribucích na následujících stránkách: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch.
Identifikované problémy:
- CVE-2023-32254, CVE-2023-32250, CVE-2023-32257, CVE-2023-32258 — vzdálené provedení kódu s právy jádra z důvodu nedostatečné blokace objektů při zpracování externích požadavků obsahujících příkazy SMB2_TREE_DISCONNECT, SMB2_SESSION_SETUP, SMB2_LOGOFF a SMB2_CLOSE, což vede k zneužitelnému stavu závodu. Útok může být proveden bez autentizace.
- CVE-2023-32256 — únik obsahu oblastí paměti jádra z důvodu stavu závodu při zpracování příkazů SMB2_QUERY_INFO a SMB2_LOGOFF. Útok může být proveden bez autentizace.
- CVE-2023-32252, CVE-2023-32248 — vzdálený odmítnutí služby z důvodu dereference nulového ukazatele při zpracování příkazů SMB2_LOGOFF, SMB2_TREE_CONNECT a SMB2_QUERY_INFO. Útok může být proveden bez autentizace.
- CVE-2023-32249 — možnost odposlechu sezení s uživatelem z důvodu nedostatečné izolace při zpracování identifikátoru sezení v vícekanálovém režimu.
- CVE-2023-32247, CVE-2023-32255 — odmítnutí služby z důvodu úniku paměti při zpracování příkazu SMB2_SESSION_SETUP. Útok může být proveden bez autentizace.
- CVE-2023-2593 — odmítnutí služby z důvodu vyčerpání dostupné paměti, způsobené chybou, která vede k nezvrácení paměti při zpracování nových TCP připojení. Útok může být proveden bez autentizace.
- CVE-2023-32253 — odmítnutí služby z důvodu vzniku vzájemné blokace při zpracování příkazu SMB2_SESSION_SETUP. Útok může být proveden bez autentizace.
- CVE-2023-32251 — absence ochrany proti útokům hrubou silou při hádání autentizačních parametrů.
- CVE-2023-32246 — místní uživatel systému, který má právo na export modulu ksmbd, může dosáhnout vykonání svého kódu na úrovni jádra Linux.
Kromě toho bylo odhaleno dalších 5 zranitelností v balíčku ksmbd-tools, který zahrnuje nástroje pro správu a práci s ksmbd, prováděné v uživatelském prostoru. Nejnebezpečnější zranitelnosti (ZDI-CAN-17822, ZDI-CAN-17770, ZDI-CAN-17820, CVE zatím nebylo přiřazeno) umožňují vzdálenému neautentizovanému útočníkovi vykonat svůj kód s právy root. Tyto zranitelnosti vznikají z důvodu absence kontroly velikosti přijatých externích dat před jejich kopií do vyrovnávací paměti v kódu služby WKSSVC a v obslužných procedurách opkodu LSARPC_OPNUM_LOOKUP_SID2 a SAMR_OPNUM_QUERY_USER_INFO. Další dvě zranitelnosti (ZDI-CAN-17823, ZDI-CAN-17821) mohou vést k vzdálenému odmítnutí služby bez autentizace.
Ksmbd se prezentuje jako vysoce výkonné a připravené pro použití na vestavěných zařízeních rozšíření k Samba, které lze v případě potřeby integrovat s nástroji a knihovnami Samba. Podpora práce SMB serveru pomocí modulu ksmbd je součástí balíčku Samba od verze 4.16.0. Na rozdíl od SMB serveru, který běží v uživatelském prostoru, je ksmbd efektivnější z hlediska výkonu, využití paměti a integrace s pokročilými funkcemi jádra. Autory kódu ksmbd jsou Namjae Jeon ze společnosti Samsung a Hyunchul Lee z LG, zatímco údržbu v rámci jádra zajišťuje Steve French ze společnosti Microsoft, maintainer subsystému CIFS/SMB2/SMB3 v jádře Linux a dlouholetý účastník týmu vývojářů Samba, který významně přispěl k implementaci podpory protokolů SMB/CIFS v Samba a Linux.
Dále lze zmínit dvě zranitelnosti v grafickém ovladači vmwgfx, používaném pro implementaci 3D akcelerace v prostředích VMware. První zranitelnost (ZDI-CAN-20292) umožňuje místnímu uživateli zvýšit své oprávnění v systému. Zranitelnost vzniká kvůli absenci kontroly stavu vyrovnávací paměti před jejím uvolněním při zpracování objektu vmw_buffer_object, což může vést k dvojímu volání funkce free. Druhá zranitelnost (ZDI-CAN-20110) způsobuje únik obsahu paměti jádra v důsledku chyb při organizaci zamykání objektů GEM.
Zdroj: opennet.ru
