Authenticated "assets/preview-thumb" discloses signed fallback transform preview link to CP users without asset-view permission
Beschreibung
Ein Benutzer mit Zugriff auf die Systemsteuerung, aber ohne Berechtigung zum Anzeigen eines privaten Ziel-Assets kann "Assets / Preview-Daumen" aufrufen und eine Vorschau-HTML erhalten, die einen signierten Fallback-Transformationslink für dieses private Asset enthält. ### Details Root-Cause-Analyse: 1. Der Endpunkt akzeptiert eine vom Angreifer kontrollierte "AssetId". 2. Asset wird aufgelöst und Miniatur HTML wird zurückgegeben. 3. Vor der Erzeugung einer Vorschau wird keine explizite Berechtigungsprüfung für die Asset-View durchgeführt. ### Impact Type: 1. Fehlende Autorisierung 2. Nicht autorisierte Offenlegung von Preview-Links Betroffene Bereitstellungen: 1. Stellen Sie Websites mit Benutzern des Bedienfelds her, die über Teilberechtigungen und private Assets verfügen. Sicherheitsfolge: 1. Ein Bedienfeldbenutzer ohne Asset-View-Berechtigung kann immer noch signierte Vorschau-Transformationslinkdaten für private Assets erhalten. 2. Dies kann das Risiko privater Vermögenswerte je nach Einsatz und Endpunktverkettung erhöhen. ## Referenzen https://github.com/craftcms/cms/commit/d30df3112220db1ffd6726a3ed11857014c7fb27
Quellen & weiterführende Informationen
Hier werden ausschließlich tatsächlich zu dieser Schwachstelle gespeicherte Quellenbelege angezeigt.
Was ist zur Behebung zu tun?
Auf eine behobene Version aktualisieren: 4.17.8, 5.9.14.
Empfohlene Schritte
- Betroffene Systeme identifizieren: Pixel & Tonic Craft CMS.
- Exposition prüfen: Internet-Erreichbarkeit, Admin-Oberflächen, VPN, Mail- oder Webdienste.
- Update/Rollout auf behobene Version vorbereiten und priorisiert einspielen.
- Nacharbeiten dokumentieren: betroffene Assets, Maßnahme, Zeitpunkt, Restrestrisiko.
Übergangsmaßnahmen
- Zugriff auf betroffene Dienste auf vertrauenswürdige Netze einschränken.
- WAF/IDS/EDR-Regeln und Hersteller-IOCs aktivieren, sofern verfügbar.
- Nicht benötigte Funktionen, Plugins oder Dienste temporär deaktivieren.