„`html
Zusammenfassung
CVE-2024-58366 beschreibt eine Format-String-Sicherheitslücke in SurrealDB vor Version 1.1.1. Die Vulnerabilität befindet sich in der Exception::throw_type-Funktion des rquickjs-Moduls und wird durch aktiviertes Scripting ausgelöst. Angreifer mit Scripting-Berechtigung können Format-String-Sequenzen in Fehlereingaben einschleusen, um Speicher auszulesen oder Code mit SurrealDB-Prozessrechten auszuführen.
Betroffene Systeme
Alle SurrealDB-Versionen vor 1.1.1 sind anfällig, sofern die Scripting-Funktionalität aktiviert ist. Besonders betroffen sind produktive Instanzen, die JavaScript-Funktionen in Queries oder Transaktionen einsetzen. Das Risiko ist erhöht, wenn nicht vertrauenswürdige Benutzer Zugriff auf das Scripting-Interface haben.
Technische Details
Die Sicherheitslücke basiert auf unsicherer Verarbeitung von Fehlerausgaben in der Exception-Behandlung. Format-String-Sequenzen wie %x, %s oder %n in Error-Eingaben werden nicht sanitiert. Dies ermöglicht:
- Information Disclosure: Auslesen von Stack- und Heap-Speicher
- Remote Code Execution: Schreiben in Speicher und CodeausfĂĽhrung ĂĽber
%n-Sequenzen
Die Anfälligkeit erfordert eine vorherige Authentifizierung mit Scripting-Privileg, was die Angriffsfläche begrenzt, aber dennoch kritisch ist.
Empfohlene Massnahmen
- Sofortige Aktualisierung: Upgrade auf SurrealDB 1.1.1 oder höher durchführen
- Zugriffsbeschränkung: Scripting-Berechtigung nur an vertrauenswürdige Benutzer vergeben
- Input-Validierung: Fehlerausgaben auf verdächtige Format-Strings prüfen
- Monitoring: Logs auf ungewöhnliche Fehlerausgaben überwachen
- Netzwerk-Segmentierung: SurrealDB-Zugriff einschränken, falls kein Patch verfügbar ist
Bewertung
Schweregrad: High (CVSS 8.5) – Die Kombination aus Memory-Disclosure und potentieller Code-Execution mit hohen Prozessrechten erfordert schnelle Remediation. Das Erfordernis von Authentifizierung reduziert die unmittelbare externe Bedrohung, erhöht aber das Insider-Risiko erheblich.
„`