Zum Inhalt springen
← Zurück zum Cyberlagebild
Zuletzt aktualisiert 25.08.2026 03:40

Authenticated path traversal in `assets/icon` allows local `.svg` file read

CVSS –1 Quelle

Beschreibung

### Zusammenfassung Eine authentifizierte Pfadtraversal in `Assets/icon` ermöglicht das Lesen einer lokalen SVG-Datei, indem Traversalsequenzen im `Extension`-Parameter übergeben werden. Das Problem wird durch File Existence Checks vor der Erweiterungsvalidierung verursacht. ### Details Der Endpunkt: - `src/controllers/AssetsController.php:1115-1123` - `action Icon(string $extension)` ruft `Assets::iconPath($extension)` auf und gibt `sendFile($path, ...)` zurück. In `Assets::iconPath()`: - Path wird aus benutzergesteuerter `Extension` aufgebaut: - `src/helpers/Assets.php:906-909` - Wenn `file exists($path)` wahr ist, wird Pfad sofort zurückgegeben: - `src/helpers/Assets.php:910-912` Validierung existiert in `Assets::iconSvg()`: - `preg match('/^\w+$/', $extension)` - `src/helpers/Assets.php:927-931` Diese Validierung wird jedoch nur erreicht, wenn `iconPath()` **nicht** eine Datei findet. Traversal-Nutzlasten, die sich auf bestehende `.svg`-Dateien auflösen, umgehen also die Validierung und werden von `sendFile()` bedient. ### Impact - Authentifizierte Benutzer können lokale .svg-Dateien lesen, die für den Bewerbungsprozess zugänglich sind. ### Referenzen - https://github.com/craftcms/cms/commit/30f5f1a8d6edf0f3a00be72c42c78d9dc7d72d5c

HerstellerPixel & Tonic
ProduktCraft CMS
ProduktfamilieKeine Angaben
Betroffene Versionen≤ 4.17.6, ≤ 5.9.12
Behobene Versionen4.17.7, 5.9.13

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.7, 5.9.13.

PrioritätGrün
EinordnungPlanbar behandeln und überwachen.

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.