V modulu ksmbd, ktorý ponúka zabudovanú implementáciu súborového servera v jadre Linux na základe protokolu SMB, bola zistená zraniteľnosť (CVE-2025-37899), potenciálne umožňujúca vykonanie vlastného kódu na úrovni jadra prostredníctvom zasielania špeciálne pripravených paketov. Zaujímavé je, že problém bol identifikovaný počas analýzy kódu AI modelom OpenAI o3. Keďže celý kód modulu ksmbd presahuje prípustnú veľkosť kontextu pre model, kontrola bola vykonaná postupne pre kód implementácie jednotlivých príkazov SMB, pričom sa používali typové požiadavky.
Zraniteľnosť je spôsobená prístupom k už oslobodenej pamäti (use-after-free) v kóde spracovania SMB príkazu "logoff": štruktúra sess->user bola použitá v inom vlákne, ak v rámci iného pripojenia prišla požiadavka na založenie relácie viazanú na oslobodenú reláciu. Pri spracovaní takýchto požiadaviek sa spustila funkcia smb2_sess_setup, ktorá sa odkazovala na už oslobodenú štruktúru sess->user.
Zraniteľnosť bola odstránená v aktualizáciách 6.15-rc5, 6.14.6, 6.12.28, 6.6.90, 6.1.138. V vetve 5.15, do ktorej bol prijatý modul ksmbd, sa problém nevyskytuje. Sledovať odstránenie zraniteľnosti v distribúciách možno na nasledujúcich stránkach: Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Arch.
Problém zistil Sean Heelan, tvorca platformy na profilovanie kódu Prodfiler, špecializujúci sa na optimalizáciu a audit bezpečnosti kódu. Sean sa rozhodol zhodnotiť, do akej miery sú moderné AI modely pripravené na vykonanie auditu bezpečnosti a dospel k záveru, že model o3 sa významne posunul v analýze a porozumení štruktúry, logiky a funkčnosti kódu. Uvádza sa, že na identifikáciu zraniteľnosti dokázal model zostaviť reťazec úvah, ktorý zohľadnil možnosť paralelných pripojení k serveru a používanie dátových štruktúr v rôznych situáciách.
V dôsledku toho model identifikoval problémové miesto v kóde, v ktorom oslobodený objekt zostal prístupný v inom vlákne. Model pritom našiel problém sám len na základe všeobecnej požiadavky, ktorá žiadala skontrolovať prítomnosť zraniteľností v kóde, pričom sa zameral na kontrolu visiacich ukazovateľov a prístupov k pamäti po jej oslobodení, pričom vylúčil falošné alarmy a hypotetické problémy.
Predtým, ako sa pustil do hľadania nových zraniteľností, Šon otestoval rôzne modely na identifikáciu zraniteľnosti CVE-2025-37778 v ksmbd, ktorú predtým odhalil počas manuálneho auditu a ktorá bola odstránená v aktualizácii jadra 6.15-rc3. Model o3 úspešne splnil úlohu a dosiahol výsledok najbližší manuálnemu auditu, po čom sa Šon presunul na experimenty pri hľadaní predtým neznámych zraniteľností.
Zdroj: opennet.ru
