Zjistili zranitelnost v ksmbd v jádře Linuxu

zranitelnost

Pokud jsou tyto chyby zneužity, mohou útočníkům umožnit získat neoprávněný přístup k citlivým informacím nebo obecně způsobit problémy

Nedávno byla zveřejněna informace, že byla objevena zranitelnost linuxového jádra se skóre CVSS 10 na SMB serveru, což dává neověřenému uživateli možnost vzdáleně spouštět kód.

Nalezená chyba umožňuje vzdáleným útočníkům spustit libovolný kód na postižených instalacích. Ke zneužití této chyby zabezpečení není vyžadováno ověření, ale zranitelné jsou pouze systémy s povoleným ksmbd.

Specifická chyba existuje ve zpracování příkazů SMB2_TREE_DISCONNECT. Problém vyplývá z neověření existence objektu před provedením operací s tímto objektem. Útočník může tuto chybu zabezpečení zneužít ke spuštění kódu v kontextu jádra.

PODROBNOSTI O ZRANITELNOSTI
Tato chyba zabezpečení umožňuje vzdáleným útočníkům spustit libovolný kód na postižených instalacích jádra Linuxu. Ke zneužití této chyby zabezpečení není vyžadováno ověření, ale zranitelné jsou pouze systémy s povoleným ksmbd.

Specifická chyba existuje ve zpracování příkazů SMB2_TREE_DISCONNECT. Problém je způsoben nedostatečným ověřením existence objektu před provedením operací s objektem. Útočník může tuto chybu zabezpečení zneužít ke spuštění kódu v kontextu jádra.

Je zmíněno, že v závislosti na typu požadavku SMB se může každé nové vlákno rozhodnout předat příkazy do uživatelského prostoru (ksmbd.mountd); v současné době jsou příkazy DCE/RPC identifikovány tak, aby je zpracovával uživatelský prostor. Aby bylo možné lépe využít linuxové jádro, bylo rozhodnuto považovat příkazy za pracovní položky a spouštět je v obslužných rutinách vláken ksmbd -io kworker.

To umožňuje správcům multiplexovat, protože jádro se stará o spouštění dalších pracovních vláken, pokud se zatížení zvýší, a naopak, pokud se zatížení sníží, zabije další pracovní vlákna.

Když se démon serveru spustí, spustí při spouštění vlákno rozvětvení (ksmbd/název rozhraní) a otevře vyhrazený port 445 pro naslouchání požadavkům SMB. Pokaždé, když nový klient zadá požadavek, vlákno forkeru přijme připojení klienta a vytvoří nové vlákno pro vyhrazený komunikační kanál mezi klientem a serverem. To umožňuje paralelní zpracování požadavků SMB (příkazů) od klientů a umožňuje novým klientům navazovat nová připojení.

ksmbd vyvolal mezi některými uživateli červené vlajky kteří loni jednali o jejich sloučení. SerNet, německá počítačová společnost, která nabízí svou vlastní verzi Samby, v příspěvku na blogu uvedla, že ksmbd je úžasný, ale zdá se trochu nezralý. Kromě toho tým Samba+ společnosti SerNet v příspěvku na blogu uvedl, že hodnota přidání serveru SMB do prostoru jádra nemusí stát za riziko „vymáčknutí posledního kousku výkonu z dostupných věcí“.

Naštěstí, pokud nepoužíváte „experimentální“ modul ksmbd společnosti Samsung, jak jej popsal bezpečnostní výzkumník Shir Tamari na Twitteru, a ponechali jste si Sambu, jste v naprostém bezpečí. „ksmbd je nový; většina uživatelů stále používá Sambu a nejsou ovlivněni. V podstatě, pokud neprovozujete SMB servery s ksmbd, užijte si víkend,“ napsala Tamari na Twitteru.

Podle iniciativy Zero-Day který odhalil zranitelnost ksmbd, ve zpracování příkazů SMB2_TREE_DISCONNECT existuje chyba use-after-free. Podle ZDI je problém způsoben tím, že ksmbd neověřuje existenci objektů před provedením operací s nimi.

Pro ty, kteří používají ksmbd, existuje kromě přechodu na Sambu řešení: upgradujte na linuxové jádro verze 5.15.61, vydané v srpnu nebo později. Tato aktualizace jádra také opravuje několik dalších problémů v ksmbd: čtení mimo hranice pro SMB2_TREE_CONNECT, což podle poznámky k opravě může umožnit neplatným požadavkům neodesílat zprávy, a únik paměti v smb2_handle_negotiate způsobující nesprávné uvolnění. Paměť.

konečně jestli jsi zájem dozvědět se o tom více, můžete zkontrolovat podrobnosti Na následujícím odkazu.