„`html
Zusammenfassung
SiYuan-Versionen vor v3.7.4 weisen kritische Autorisierungsmängel in 17 Block-Metadaten- und Content-Endpunkten auf. Die betroffenen Handler in kernel/api/block.go (einschließlich getRefText, checkBlockExist und getBlockBreadcrumb) implementieren nur einfache Authentifizierung ohne Publish-Access-Filterung. Dies ermöglicht es anonymen Benutzern im Publish-Modus, auf private Blöcke zuzugreifen und vertrauliche Informationen zu offenbaren.
Betroffene Systeme
- SiYuan < v3.7.4
- Alle Installationen mit aktiviertem Publish-Modus
- Workspaces mit sensiblen Block-Strukturen
Technische Details
Schwachstelle: Unzureichende Zugriffskontrolle (CWE-639)
Die betroffenen Endpoints verwenden ausschließlich model.CheckAuth() zur Authentifizierung. Diese Funktion verifiziert nur die Basisauthentifizierung, nicht jedoch die Publish-Access-Berechtigung. Dadurch können Angreifer mit Publish-Zugang:
- Blockinhalt und Metadaten beliebiger Block-IDs abrufen (getRefText)
- Existenz privater Blöcke ermitteln (checkBlockExist)
- Strukturale Metadaten und Blockbreadcrumbs auslesen (getBlockBreadcrumb)
Angriffsvektor: Netzwerk (CVSS 7.5 – High)
Für einen Exploit wird lediglich Netzwerkzugriff auf die SiYuan-Instanz und Publish-Mode-Zugang benötigt. Keine Benutzerwechselwirkung erforderlich.
Empfohlene Massnahmen
- Update: Aktualisieren Sie sofort auf SiYuan v3.7.4 oder höher
- Workaround: Deaktivieren Sie temporär den Publish-Modus für kritische Workspaces
- Zugriffskontrolle: Beschränken Sie Netzwerkzugriff auf die SiYuan-Instanz
- Monitoring: Überwachen Sie Block-API-Anfragen auf verdächtige Zugriffsmuster
Bewertung
CVSS-Score: 7.5 (High)
Patch-Status: Verfügbar in v3.7.4+
Diese Schwachstelle stellt ein erhebliches Risiko für Vertraulichkeit dar, da Angreifer gezielt auf private Daten zugreifen können. Priorität: Sofortiges Patching empfohlen.
„`