Entdeckte Schwachstelle im ksmbd-Modul des Linux-Kernels, identifiziert mit Hilfe von KI

Im Modul ksmbd, das eine in den Linux-Kernel integrierte Implementierung eines Dateiservers auf der Basis des SMB-Protokolls anbietet, wurde eine Sicherheitsanfälligkeit (CVE-2025-37899) entdeckt, die potenziell die Ausführung von Schaden-Code auf Kernel-Ebene durch den Versand speziell gestalteter Pakete ermöglicht. Bemerkenswert ist, dass das Problem im Rahmen einer Analyse des Codes durch das KI-Modell OpenAI o3 entdeckt wurde. Da der vollständige Code des Moduls ksmbd die für das Modell zulässige Kontextgröße überschreitet, wurde die Überprüfung schrittweise für den Code mit der Implementierung einzelner SMB-Befehle unter Verwendung typischer Anfragen durchgeführt.

Die Schwachstelle wird durch den Zugriff auf bereits freigegebene Speicherbereiche (use-after-free) im Code für die Verarbeitung des SMB-Befehls „logoff“ verursacht: Die Struktur sess->user wurde in einem anderen Thread verwendet, wenn in einem anderen Verbindung eine Anfrage zum Einrichten einer Sitzung einging, die an die freigegebene Sitzung gebunden war. Bei der Verarbeitung solcher Anfragen wurde die Funktion smb2_sess_setup aufgerufen, die auf die bereits freigegebene Struktur sess->user zugriff.

Die Schwachstelle wurde in den Updates 6.15-rc5, 6.14.6, 6.12.28, 6.6.90, 6.1.138 behoben. In der Reihe 5.15, die das Modul ksmbd enthält, tritt das Problem nicht auf. Informationen zur Behebung der Sicherheitsanfälligkeit in verschiedenen Distributionen sind auf den folgenden Seiten zu finden: Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Arch.

Das Problem wurde von Sean Heelan, dem Ersteller der Code-Profilierungsplattform Prodfiler, der auf die Optimierung und Sicherheitsprüfung von Code spezialisiert ist, entdeckt. Sean wollte bewerten, wie bereit moderne KI-Modelle für die Durchführung von Sicherheitsprüfungen sind, und kam zu dem Schluss, dass das Modell o3 bedeutende Fortschritte bei der Analyse und dem Verständnis der Struktur, Logik und Funktionalität von Code gemacht hat. Es wird festgestellt, dass das Modell zur Identifizierung der Schwachstelle eine Kette von Überlegungen aufbauen konnte, die die Möglichkeit paralleler Verbindungen berücksichtigte. zu einem Server und die Verwendung von Datenstrukturen in verschiedenen Situationen.

Letztendlich identifizierte das Modell den problematischen Bereich im Code, in dem das freigegebene Objekt in einem anderen Thread weiterhin verfügbar blieb. Dabei fand das Modell das Problem nur auf Grundlage einer allgemeinen Anfrage, die um die Überprüfung auf Sicherheitsanfälligkeiten im Code bat, wobei der Fokus auf der Überprüfung von Dangling-Pointern und dem Zugriff auf Speicher nach dessen Freigabe lag, während falsche Alarme und hypothetische Probleme ausgeschlossen wurden.

Bevor er nach neuen Schwachstellen suchte, testete Shawn verschiedene Modelle zur Identifizierung der Schwachstelle CVE-2025-37778 in ksmbd, die er zuvor während eines manuellen Audits entdeckt und mit dem Update des Kernels 6.15-rc3 behoben hatte. Das Modell o3 erledigte die Aufgabe erfolgreich und lieferte ein Ergebnis, das dem manuellen Audit am nächsten kam, woraufhin Shawn zu Experimenten zur Entdeckung zuvor unbekannter Schwachstellen überging.

Quelle: opennet.ru

60GB SSD 8Gb DDR4