Modulis ksmbd, mis pakub Linuxi kerneli integreeritud failiserveri rakendust SMB-protokollil, avastas haavatavuse (CVE-2025-37899), mis võimaldab potentsiaalselt saavutada oma koodi täitmist kerneli tasemel, saates spetsiaalselt vormindatud pakette. Tähelepanuväärne on see, et probleem avastati OpenAI o3 AI mudeli koodianalüüsi käigus. Kuna ksmbd mooduli täiskood ületab mudeli konteksti suuruse piiri, viidi kontroll läbi etappidena erinevate SMB käskude teostamise koodi osade kaupa, kasutades tüüpilisi päringuid.
Haavatavus tuleneb juba vabanenud mälu (use-after-free) kasutamisest SMB-käsu «logoff» käsitlemise koodis: struktuuri sess->user kasutati teises threadis, kui teiselt ühenduselt saabus seanssi seadistamise päring, mis oli seotud vabastatava seansiga. Selliste päringute töötlemise käigus käivitati funktsioon smb2_sess_setup, mis pöördus juba vabastatud struktuuri sess->user poole.
Haavatavus on kõrvaldatud versioonides 6.15-rc5, 6.14.6, 6.12.28, 6.6.90, 6.1.138. 5.15 harus, kuhu ksmbd moodul on võetud, ei esine probleemi. Haavatavuse kõrvaldamist erinevates distributsioonides saab jälgida järgmistes lehtedes: Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Arch.
Probleemi avastas Sean Heelan, Prodfiler koodiprofilimise platvormi looja, kes on spetsialiseerunud koodi optimeerimise ja turbeauditi teostamisele. Sean otsustas hinnata, kui hästi tänapäevased AI mudelid on valmis turbeauditi teostamiseks, ning järeldas, et mudel o3 on teinud märkimisväärseid edusamme koodi struktuuri, loogika ja funktsionaalsuse analüüsimisel ja mõistmisel. Märgitakse, et haavatavuse tuvastamiseks suutis mudel luua arutlusjõulise ahela, arvestades võimalust samaaegseteks ühendusteks. serveri ja andmestruktuuride kasutamine erinevates olukordades.
Kokkuvõttes tuvastas mudel probleemse koha koodis, kus vabastatud objekt jäi teises threadis ligipääsetavaks. Mudel leidis probleemi iseseisvalt, tuginedes üldisele päringule, mis palus kontrollida haavatavuste olemasolu koodis, keskendudes rippuvate viidete ja mälule pääsemise kontrollimisele pärast selle vabastamist, välistades samas vale signaalid ja hüpoteetilised probleemid.
Enne uute haavatavuste otsimist testis Sean erinevaid mudeleid haavatavuse CVE-2025-37778 määratlemiseks ksmbd-s, mille ta tuvastas käsitsi auditi käigus ja mis kõrvaldatakse kerneli uuenduses 6.15-rc3. Mudel o3 täitis ülesande edukalt ja näitas käsitsi auditi tulemusele kõige lähedasemaid tulemusi, pärast mida keskendus Sean varasemalt tundmatute haavatavuste otsimise katsetele.
Allikas: opennet.ru
