Zistili zraniteľnosť v ksmbd v jadre Linuxu

zraniteľnosť

Ak sú tieto chyby zneužité, môžu útočníkom umožniť získať neoprávnený prístup k citlivým informáciám alebo vo všeobecnosti spôsobiť problémy

Nedávno sa objavila informácia, že bola objavená zraniteľnosť jadra Linuxu so skóre CVSS 10 na SMB serveri, čo dáva neoverenému používateľovi možnosť na diaľku spúšťať kód.

Nájdená chyba umožňuje vzdialeným útočníkom spustiť ľubovoľný kód na postihnutých inštaláciách. Na zneužitie tejto zraniteľnosti nie je potrebná autentifikácia, ale zraniteľné sú iba systémy s povoleným ksmbd.

Špecifická chyba existuje v spracovaní príkazov SMB2_TREE_DISCONNECT. Problém vyplýva z neoverenia existencie objektu pred vykonaním operácií na tomto objekte. Útočník môže zneužiť túto chybu zabezpečenia na spustenie kódu v kontexte jadra.

PODROBNOSTI O ZRANITEĽNOSTI
Táto zraniteľnosť umožňuje vzdialeným útočníkom spustiť ľubovoľný kód na postihnutých inštaláciách jadra Linuxu. Na zneužitie tejto zraniteľnosti nie je potrebná autentifikácia, ale zraniteľné sú iba systémy s povoleným ksmbd.

Špecifická chyba existuje v rámci spracovania príkazov SMB2_TREE_DISCONNECT. Problém je spôsobený nedostatočným overením existencie objektu pred vykonaním operácií na objekte. Útočník môže zneužiť túto chybu zabezpečenia na spustenie kódu v kontexte jadra.

Spomína sa, že v závislosti od typu požiadavky SMB sa každé nové vlákno môže rozhodnúť odovzdať príkazy do užívateľského priestoru (ksmbd.mountd); v súčasnosti sú príkazy DCE/RPC identifikované, aby ich spracoval užívateľský priestor. Na lepšie využitie linuxového jadra bolo rozhodnuté považovať príkazy za pracovné položky a vykonávať ich v obslužných programoch vlákien ksmbd -io kworker.

To umožňuje manažérom multiplexovať, pretože jadro sa stará o spustenie ďalších pracovných vlákien, ak sa zaťaženie zvýši, a naopak, ak sa zaťaženie zníži, ďalšie pracovné vlákna zabije.

Keď sa spustí démon servera, spustí vlákno rozdvojky (ksmbd/názov rozhrania) v čase zavádzania a otvorí vyhradený port 445 na počúvanie požiadaviek SMB. Zakaždým, keď noví klienti zadajú požiadavku, vlákno forkera prijme pripojenie klienta a vytvorí nové vlákno pre vyhradený komunikačný kanál medzi klientom a serverom. To umožňuje paralelné spracovanie požiadaviek SMB (príkazov) od klientov a umožňuje novým klientom nadviazať nové spojenia.

ksmbd vyvolal medzi niektorými používateľmi červené vlajky ktorí minulý rok diskutovali o ich zlúčení. SerNet, nemecká počítačová spoločnosť, ktorá ponúka svoju vlastnú verziu Samby, v blogovom príspevku uviedla, že ksmbd je úžasné, ale zdalo sa, že je trochu nezrelé. Okrem toho tím Samba+ spoločnosti SerNet v blogovom príspevku uviedol, že hodnota pridania servera SMB do priestoru jadra nemusí stáť za riziko „vytlačenia posledného kúska výkonu z dostupných vecí“.

Našťastie, ak nepoužívate „experimentálny“ modul ksmbd od Samsungu, ako ho opísal bezpečnostný výskumník Shir Tamari na Twitteri, a ponechali ste si Sambu, ste úplne v bezpečí. „ksmbd je nový; väčšina používateľov stále používa Sambu a nie je ovplyvnená. V podstate, ak nepoužívate SMB servery s ksmbd, užite si víkend,“ napísala Tamari na Twitteri.

Podľa iniciatívy Zero-Day, ktorý odhalil zraniteľnosť ksmbd, chyba use-after-free existuje v spracovaní príkazov SMB2_TREE_DISCONNECT. Podľa ZDI je problém spôsobený tým, že ksmbd neoveruje existenciu objektov pred vykonaním operácií na nich.

Pre tých, ktorí používajú ksmbd, existuje okrem prechodu na Sambu aj iné riešenie: upgrade na jadro Linuxu, verzia 5.15.61, vydaná v auguste alebo neskôr. Táto aktualizácia jadra tiež opravuje niekoľko ďalších problémov v ksmbd: nehraničné čítanie pre SMB2_TREE_CONNECT, čo podľa poznámky o oprave môže umožniť neplatným požiadavkám neodosielať správy, a únik pamäte v smb2_handle_negotiate spôsobujúci nesprávne uvoľnenie. Pamäť.

konečne ak si záujem dozvedieť sa o tom viac, môžete skontrolovať podrobnosti Na nasledujúcom odkaze.