Wie ich O3 nutzte, um CVE-2025-37899, eine Remote-Zeroday-Sicherheitsanfälligkeit in der SMB-Implementierung des Linux-Kernels zu finden
In diesem Artikel erkläre ich, wie ich eine Zeroday-Sicherheitsanfälligkeit im Linux-Kernel mithilfe des O3-Modells von OpenAI entdeckte. Ich verwendete die O3-API ohne zusätzliche Hilfsmittel, agentische Frameworks oder Tools. Die großen Sprachmodelle haben einen Sprung in ihrer Fähigkeit gemacht, über Code nachzudenken. Personen, die im Bereich der Sicherheitsanfälligkeiten arbeiten, sollten beginnen, dieser Technologie besondere Aufmerksamkeit zu schenken, da sie ihre Effizienz und Effektivität erheblich steigern kann.
Einführung in die Sicherheitsanfälligkeit
Vor kurzem habe ich ksmbd auf Sicherheitsanfälligkeiten überprüft. ksmbd ist ein Linux-Kernelserver, der das SMB3-Protokoll im Kernelraum implementiert, um Dateien über das Netzwerk zu teilen. Ich begann dieses Projekt speziell, um eine Pause von der Entwicklung von LLM-bezogenen Tools zu machen, aber nach der Veröffentlichung von O3 konnte ich nicht widerstehen, die Fehler, die ich in ksmbd gefunden hatte, als schnelles Benchmark für die Fähigkeiten von O3 zu verwenden. In einem zukünftigen Beitrag werde ich die Leistung von O3 bei all diesen Fehlern diskutieren, aber hier konzentrieren wir uns darauf, wie O3 eine Zeroday-Sicherheitsanfälligkeit während meines Benchmarks fand. Die entdeckte Sicherheitsanfälligkeit ist CVE-2025-37899, ein Use-After-Free-Fehler im Handler für den SMB-‘logoff’-Befehl.
Technische Details zur Sicherheitsanfälligkeit
Das Verständnis der Sicherheitsanfälligkeit erfordert das Nachdenken über gleichzeitige Verbindungen zum Server und wie diese in bestimmten Umständen verschiedene Objekte teilen können. O3 war in der Lage, dies zu begreifen und einen Ort zu erkennen, an dem ein bestimmtes Objekt, das nicht referenziert wird, freigegeben wird, während es weiterhin von einem anderen Thread zugänglich ist. Soweit ich weiß, ist dies die erste öffentliche Diskussion über eine Sicherheitsanfälligkeit dieser Art, die von einem LLM gefunden wurde.
Benchmarking von O3 mit CVE-2025-37778
Bevor ich auf die Details der Zeroday-Sicherheitsanfälligkeit eingehe, lassen Sie uns zuerst über CVE-2025-37778 sprechen, eine Sicherheitsanfälligkeit, die ich manuell gefunden habe und die ich als Benchmark für die Fähigkeiten von O3 verwendete, als es die Zeroday-Sicherheitsanfälligkeit fand. CVE-2025-37778 ist ebenfalls eine Use-After-Free-Sicherheitsanfälligkeit, die während des Kerberos-Authentifizierungsprozesses auftritt, wenn ein „Session Setup“-Antrag von einem Remote-Client bearbeitet wird.
Die Rolle von O3 bei der Entdeckung von Sicherheitsanfälligkeiten
Nachdem ich bestätigt hatte, dass O3 die Kerberos-Authentifizierungsanfälligkeit finden kann, wollte ich sehen, ob es auch die Zeroday-Sicherheitsanfälligkeit finden kann, wenn ich ihm den Code für alle Befehls-Handler gebe. Dies ist ein schwierigeres Problem, da die Befehls-Handler alle in smb2pdu.c zu finden sind, das etwa 9.000 Zeilen Code umfasst. Wenn O3 jedoch weiterhin Sicherheitsanfälligkeiten finden kann, wenn es alle Handler auf einmal erhält, deutet dies darauf hin, dass wir eine einfachere Wrapper-Funktion für O3 erstellen können, die ihm einfach ganze Dateien übergibt.
Die Entdeckung von CVE-2025-37899
Bei der Analyse des Codes stellte ich fest, dass O3 nicht nur die Kerberos-Authentifizierungsanfälligkeit fand, sondern auch einen neuen, mir zuvor unbekannten Fehler entdeckte. Diese Sicherheitsanfälligkeit ist ebenfalls auf die Freigabe von sess->user zurückzuführen, diesmal im Handler für das Session-Logoff. O3 konnte die Problematik erkennen und beschrieb sie in einem Bericht, der die Details der Sicherheitsanfälligkeit erklärte.
Fazit
LLMs existieren an einem Punkt im Fähigkeitsraum der Programmanalysetechniken, der den Menschen viel näher ist als alles, was wir bisher gesehen haben. Angesichts der Attribute von Kreativität, Flexibilität und Allgemeingültigkeit sind LLMs viel ähnlicher einem menschlichen Code-Auditor als symbolischen Ausführungen, abstrakter Interpretation oder Fuzzing. Mit O3 haben wir ein Modell, das gut genug in der Code-Analyse, Q&A, Programmierung und Problemlösung ist, um die menschliche Leistung in der Sicherheitsforschung erheblich zu verbessern.
Quellenliste:
- Quelle: HOW I USED O3 TO FIND CVE-2025-37899, A REMOTE ZERODAY VULNERABILITY IN THE LINUX KERNEL’S SMB IMPLEMENTATION
- ksmbd Documentation
- Fix for CVE-2025-37899
Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!