Contao: Pfadüberquerung im Images-Controller
ImagesController hängt den vom Benutzer kontrollierten Pfad {path} mit Path::join() an das konfigurierte Bild-Zielverzeichnis an. Hierbei werden ..-Segmente kanonisiert, ohne dass anschließend über Path::isBasePath() geprüft wird, ob das Ergebnis innerhalb dieses Verzeichnisses verbleibt. Eine nicht authentifizierte GET-Anfrage mit prozentkodierten Punktsegmenten kann das Verzeichnis somit verlassen, und die Datei wird durch BinaryFileResponse ausgeliefert.
Lesezugriffe sind auf die Dateiendungen in contao.image.valid_extensions beschränkt, und Pfade unterhalb des Upload-Verzeichnisses schlagen aus einem unabhängigen Grund fehl. Daher wird dieses Verhalten als fehlende Grenzprüfung und nicht als generelles beliebiges Auslesen von Dateien eingestuft. Sowohl Apache mit der mitgelieferten Konfiguration public/.htaccess als auch nginx mit der dokumentierten Konfiguration sind betroffen.
Auswirkungen
Jeder nicht authentifizierte Besucher kann Dateien auslesen, die bewusst außerhalb des Document-Roots an beliebiger Stelle im Projektverzeichnis abgelegt sind, solange deren Dateiname auf eine der Endungen aus contao.image.valid_extensions endet (jpg, jpeg, gif, png, tif, tiff, bmp, svg, svgz, webp).
Die Route fungiert zudem als Existenz-Orakel für beliebige Pfade. Auf einer Instanz mit aktivem Debug-Modus legt die Meldung 404 den absoluten Dateisystempfad offen.
Einschränkender Hinweis (senkt den Schweregrad): Geschützte Mitgliederordner konnten nicht ausgelesen werden: Jeder Pfad unterhalb des Upload-Verzeichnisses liefert aus dem genannten Grund 500 zurück. Praktisch erreichbar sind daher Bilddateien außerhalb von files/.
Was zu tun ist
Aktualisieren Sie contao/core-bundle auf Version 5.3.50, 5.7.12 oder höher.
Betroffene Software
Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.
| Plattform | Paket | Anfällige Versionen | Behoben in |
|---|---|---|---|
| Composer-Paket | contao/core-bundle | >= 4.1.0, < 5.3.50, >= 5.4.0-RC1, < 5.7.12 | 5.3.50, 5.7.12 |
Verweise
- CVSS-Vektor
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N- Schwäche (CWE)
CWE-22- Plattform
- Composer
- Paket
contao/core-bundle- Veröffentlicht
- 09.10.2026
- Aktualisiert
- 11.10.2026 10:31
Quellen und Lizenzen · Von DockRay bearbeitet oder übersetzt; Rechte und Lizenzen der Quellen bleiben erhalten.
OSV / GitHub Advisory Database - GHSA-mrvp-7wmx-5m4h - CC BY 4.0
Schwachstellenhistorie: contao/core-bundle
Alle veröffentlichten Schwachstellen dieses Pakets (Composer-Paket), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.
- Einträge insgesamt
- 40
- Erste → letzte
- 12.2019 10.2026
- Ohne Fix
- 0
- In Angriffen ausgenutzt
- 0
Verteilung nach Schweregrad
- Kritisch 4
- Hoch 7
- Mittel 23
- Niedrig 6
Veröffentlichungen pro Jahr
- 2019: 3
- 2020: 1
- 2021: 4
- 2022: 8
- 2023: 1
- 2024: 7
- 2025: 7
- 2026: 9
-
Contao: Pfadüberquerung im Images-Controller dieser Eintrag
Erkennen Sie Schwachstellen in Ihrer Anwendung
Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.