„`html
Zusammenfassung
Eine Server-Side Template Injection (SSTI) Schwachstelle in compliance-trestle ermöglicht Remote Code Execution durch manipulierte Eingabedaten. Die Vulnerability existiert in Versionen vor 3.12.2 und 4.0.3 und wird durch rekursive Template-Verarbeitung ausgelöst. Der kritische Unterschied zu klassischen SSTI-Angriffen: der Angreifer benötigt keine Kontrolle über das Template selbst, sondern nur über die darin verarbeiteten Daten.
Betroffene Systeme
Betroffen sind compliance-trestle Versionen:
- Alle Versionen vor 3.12.2
- Alle Versionen vor 4.0.3
Die Schwachstelle wird durch den Befehl trestle author jinja ausgelöst und kann über SSP-Dokumente oder Lookup Tables exploitet werden.
Technische Details
Die SSTI-Vulnerabilität entsteht durch eine rekursive Re-Kompilation und Re-Rendering bereits verarbeiteter Template-Ausgaben. Der Template-Autor intendiert möglicherweise nur Text-Rendering wie Title: {{ ssp.metadata.title }}, jedoch führt die rekursive Verarbeitung dazu, dass auch Benutzer-kontrollierte Datenfelder als ausführbarer Code interpretiert werden.
Ein Angreifer kann damit beliebige Jinja2-Expressions oder Python-Code in Datenfeldern injizieren, die dann mit den Privilegien des laufenden Prozesses ausgeführt werden. Dies ermöglicht vollständige Systemkompromittierung.
Empfohlene Massnahmen
- Sofortmassnahme: Upgrade auf compliance-trestle 3.12.3 oder 4.0.3
- Überprüfung aller benutzer-kontrollierten Eingaben in SSP-Dokumenten und Lookup Tables auf verdächtige Jinja2-Syntax
- Implementierung von Input-Validierung und Output-Encoding
- AusfĂĽhrung von trestle-Prozessen mit minimalen Privilegien
- Monitoring von verdächtigen Template-Rendering-Aktivitäten
Bewertung
CVSS 7.8 (High): Die Schwachstelle ist kritisch, da sie unauthentifizierte Remote Code Execution mit Prozess-Privilegien ermöglicht. Das lokalisierten Angriffsvektor deutet auf Zugriff auf Compliance-Dokumente hin. Die hohe Bewertung ist gerechtfertigt durch das vollständige Ausführungs-Potenzial.
„`