„`html
Zusammenfassung
SiYuan vor Version 3.7.3 weist eine kritische SQL-Injection-Schwachstelle im Endpunkt /api/filetree/searchDocs auf. Der vulnerability ermöglicht es Angreifern, beliebige SQL-Befehle auszuführen und auf Datenbankinhalt zuzugreifen oder diesen zu modifizieren. Die Schwachstelle ist über ein Publish RoleReader Token oder ohne Authentifizierung erreichbar, wenn die Publish-Funktion aktiviert ist.
Betroffene Systeme
Die Vulnerability betrifft SiYuan-Versionen vor 3.7.3 auf verschiedenen Plattformen. Besonders gefährdet sind Installationen mit aktivierter Publish-Funktion und deaktivierter Authentifizierung (Publish.Auth.Enable = false).
Technische Details
Der keyword-Parameter des Endpunkts /api/filetree/searchDocs wird direkt in SQL-Statements concateniert, ohne Escaping oder Parametergebindung zu verwenden. Dies ermöglicht klassische SQL-Injection-Anschläge.
Die Gefährlichkeit wird durch mehrere Faktoren verstärkt:
- Die Anfragen werden auf einem Read-Write SQLite-Handle ausgefĂĽhrt
- Der verwendete Datenbanktreiber unterstĂĽtzt Stacked Statements (Semicolon-separated)
- Dadurch können nicht nur Daten ausgelesen, sondern auch modifiziert werden
- Der Zugriff ist möglich auf alle unverschlüsselten Notizbücher der Instanz
Empfohlene Massnahmen
Sofortige Aktionen:
- System auf Version 3.7.3 oder höher aktualisieren
- Publish-Funktion deaktivieren, falls nicht benötigt
- Authentifizierung aktivieren:
Publish.Auth.Enable = true - Zugriffsrechte fĂĽr den Endpunkt
/api/filetree/searchDocseinschränken - Vertrauliche Notizbücher verschlüsseln
Bewertung
CVSS v3.1 Score: 10.0 (Critical)
Die maximale Bewertung ist gerechtfertigt durch: hohes Schadenpotential (Datenverlust, -manipulation), einfache Ausnutzbarkeit (Netzwerk-erreichbar, keine Authentifizierung erforderlich), und breite Auswirkungen auf das betroffene System. Ein Patch ist derzeit nicht verfügbar – eine sofortige Aktualisierung ist notwendig.
„`