I ksmbd-modulen, som erbjuder en inbyggd filserverimplementation i Linux-kärnan baserad på SMB-protokollet, har en sårbarhet (CVE-2025-37899) identifierats, vilken potentiellt kan möjliggöra exekvering av egen kod på kärnnivå genom att skicka speciellt utformade paket. Det är anmärkningsvärt att problemet identifierades under kodanalys av AI-modellen OpenAI o3. Eftersom hela koden för ksmbd-modulen överstiger den tillåtna storleken för modellens kontext, genomfördes en stegvis kontroll av koden med implementeringen av specifika SMB-kommandon, genom att använda typiska förfrågningar.
Sårbarheten orsakas av åtkomst till redan frigjord minne (use-after-free) i koden för bearbetning av SMB-kommandot «logoff»: strukturen sess->user användes i en annan tråd om en begäran om att skapa en session kopplades till den frigjorda sessionen i ett annat anslutning. Vid bearbetning av sådana förfrågningar startades funktionen smb2_sess_setup, som försökte få tillgång till den redan frigjorda strukturen sess->user.
Sårbarheten har åtgärdats i uppdateringarna 6.15-rc5, 6.14.6, 6.12.28, 6.6.90, 6.1.138. I branch 5.15, där ksmbd-modulen ingick, uppträder inte problemet. Övervakning av åtgärdandet av sårbarheten i distributionerna kan göras på följande sidor: Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Arch.
Problemet upptäcktes av Sean Heelan, skaparen av kodprofileringplattformen Prodfiler, som specialiserar sig på optimering och säkerhetsgranskning av kod. Sean beslutade att bedöma hur beredda moderna AI-modeller är för att genomföra säkerhetsgranskningar och drog slutsatsen att modellen o3 har gjort betydande framsteg när det gäller analys och förståelse av kodens struktur, logik och funktionalitet. Det konstaterades att för att identifiera sårbarheten kunde modellen bygga en argumentationskedja som tog hänsyn till möjligheten till parallella anslutningar till servern och användning av datatyper i olika situationer.
Slutligen identifierade modellen den problematiska punkten i koden där det frigjorda objektet förblev tillgängligt i en annan tråd. Modellen hittade själv problemet enbart baserat på en allmän förfrågan som bad om att kontrollera efter sårbarheter i koden, med fokus på att kontrollera svävande pekare och åtkomst till minnet efter frigivning, samtidigt som falska positiva och hypotetiska problem uteslöts.
Innan han började söka efter nya sårbarheter, testade Sean olika modeller för att identifiera sårbarheten CVE-2025-37778 i ksmbd, som han tidigare upptäckte under en manuell granskning och som åtgärdades i kärnuppdateringen 6.15-rc3. Modellen o3 hanterade uppgiften framgångsrikt och visade det mest närstående resultatet jämfört med den manuella granskningen, varefter Sean gick vidare till experiment för att hitta tidigare okända sårbarheter.
Källa: opennet.ru
