În modulul ksmbd, care oferă o implementare de server de fișiere încorporată în kernelul Linux pe baza protocolului SMB, a fost identificată o vulnerabilitate (CVE-2025-37899) care ar putea permite executarea de cod la nivel de kernel prin trimiterea de pachete special concepute. Este demn de menționat că problema a fost identificată în timpul analizei codului de către modelul AI OpenAI o3. Deoarece codul complet al modulului ksmbd depășește dimensiunea de context acceptabilă pentru model, verificarea a fost efectuată etapizat pentru codul care implementează comenzi SMB individuale, folosind cereri tipice.
Vulnerabilitatea este cauzată de accesarea memoriei deja eliberate (use-after-free) în codul de procesare a comenzii SMB «logoff»: structura sess->user era utilizată într-un alt fir de execuție, în cazul în care, în cadrul unei alte conexiuni, sosia o cerere de stabilire a unei sesiuni care se lega de sesiunea eliberată. În procesarea acestor cereri, era apelată funcția smb2_sess_setup, care accesa deja structura eliberată sess->user.
Vulnerabilitatea a fost remediată în actualizările 6.15-rc5, 6.14.6, 6.12.28, 6.6.90, 6.1.138. În ramura 5.15, în care a fost inclus modulul ksmbd, problema nu se manifestă. Se poate urmări remedierea vulnerabilității în distribuitori pe următoarele pagini: Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Arch.
Problema a fost identificată de Sean Heelan, creatorul platformei de profilare a codului Prodfiler, specializat în optimizarea și auditul de securitate al codului. Sean a decis să evalueze cât de pregătite sunt modelele AI moderne pentru realizarea auditului de securitate și a concluzionat că modelul o3 a avansat semnificativ în analiza și înțelegerea structurii, logicii și funcționalității codului. Se subliniază că, pentru a identifica vulnerabilitatea, modelul a reușit să construiască un lanț de raționamente care ia în considerare posibilitatea conexiunilor paralele la server și utilizarea structurilor de date în diferite situații.
În concluzie, modelul a identificat locul problematic din cod, în care obiectul eliberat rămânea accesibil într-un alt fir de execuție. În plus, modelul a găsit problema pe baza unei cereri generale, care solicita verificarea existenței vulnerabilităților în cod, punând accent pe verificarea pointerilor suspendați și a accesărilor la memorie după eliberare, excluzând astfel alertele false și problemele ipotetice.
Înainte de a căuta noi vulnerabilități, Shawn a testat diferite modele pentru a determina vulnerabilitatea CVE-2025-37778 în ksmbd, identificată anterior de el în timpul unei auditări manuale și remediată în actualizarea nucleului 6.15-rc3. Modelul o3 a reușit cu succes să îndeplinească sarcina și a arătat un rezultat foarte apropiat de cel al auditului manual, după care Shawn s-a concentrat pe experimentele pentru a găsi vulnerabilități anterior necunoscute.
Sursa: opennet.ro
