Laravel Reflected XSS via Route- und Request-Parameter in Debug-Mode Error Page

Der beliebte PHP Framework Laravel ist in den Versionen zwischen 11.9.0 und 11.35.1 von zwei kritischen Reflected Cross-Site Scripting (XSS)-Schwachstellen betroffen. Beide Schwachstellen treten im Debug-Modus (APP_DEBUG=true) auf, wenn ein HTTP-Fehler (5XX) generiert wird. Dabei werden entweder Route-Parameter oder Request-Parameter unzureichend encoded und direkt in die Fehlerseite eingebettet, was es Angreifern ermöglicht, schadhaften JavaScript-Code in den Browser des Benutzers einzuschleusen.

1. Laravel Reflected XSS via Route Parameter in Debug-Mode Error Page

  • Identifier: SBA-ADV-20241209-02
  • Typ: Cross-Site Scripting
  • Betroffene Versionen: 11.9.0 bis 11.35.1
  • Behoben in Version: 11.36.0
  • CVE-ID: CVE-2024-13919
  • CVSS Score: 8.0 (High)
  • Beschreibung:
    Im Debug-Modus wird bei Fehlern (HTTP-Fehler 5XX) eine Fehlerseite generiert, die Details über die Anfrage enthält. Hierbei werden Route-Parameter, die über die URL übermittelt werden, ohne ausreichende HTML-Encoding in das HTML eingebettet. Ein Beispiel zeigt, wie unsicher eingebettete Werte mittels der Blade-Syntax {!! … !!} direkt in die Seite integriert werden.
  • Proof of Concept:
    Ein vorbereiteter Link wie http://localhost:8000/poc-route/%3Cimg%20src=''%20onerror='alert(1)'%3E löst eine Division-by-Zero aus, was zu einem 500-Fehler führt. Die generierte Fehlerseite enthält das <img>-Tag ohne Encoding, wodurch der Browser das Tag interpretiert und das JavaScript ausführt.
  • Empfohlene Gegenmaßnahmen:
    • Upgrade auf Version 11.36.0 oder höher
    • In Produktionsumgebungen den Debug-Modus deaktivieren (APP_DEBUG=false)

2. Laravel Reflected XSS via Request Parameter in Debug-Mode Error Page

  • Identifier: SBA-ADV-20241209-01
  • Typ: Cross-Site Scripting
  • Betroffene Versionen: 11.9.0 bis 11.35.1
  • Behoben in Version: 11.36.0
  • CVE-ID: CVE-2024-13918
  • CVSS Score: 8.0 (High)
  • Beschreibung:
    Auch hier wird im Debug-Modus eine Fehlerseite angezeigt, wenn ein HTTP-Fehler (5XX) auftritt. Im Unterschied zum ersten Fall werden jedoch Request-Parameter (sowohl aus der URL als auch aus dem Request-Body) ohne ausreichende Encodierung eingebettet. Der entsprechende Code-Snippet zeigt, wie Daten mittels {!! $exception->requestBody() ?: 'No body data' !!} in das HTML integriert werden, ohne die üblichen Sicherheitsvorkehrungen zu nutzen.
  • Proof of Concept:
    Ein Angreifer kann durch den Aufruf des Links http://localhost:8000/poc-url?payload=<script>alert(1)</script> einen Fehler provozieren. Die generierte Fehlerseite zeigt den unsicher eingebetteten Request-Parameter payload, der vom Browser als HTML interpretiert und somit das eingebettete JavaScript (alert(1)) ausführt.
  • Empfohlene Gegenmaßnahmen:
    • Upgrade auf Version 11.36.0 oder höher
    • Sicherstellen, dass in Produktionsumgebungen der Debug-Modus deaktiviert ist (APP_DEBUG=false)

Related Posts

Apache Traffic Server – Malformed Requests und ACL-Probleme

Am 5. März 2025 wurde im Apache Traffic Server-Entwicklerforum berichtet, dass ATS (Apache Traffic Server) anfällig für fehlerhaft formatierte Anfragen sowie für Probleme mit Access Control Lists (ACL) ist. Der Apache Traffic Server ist ein weitverbreitetes Caching System auf Open Source Basis. Konkret wurden vier CVEs identifiziert:

Read More

Jenkins Sicherheitslücken: Update dringend empfohlen

Am 5. März 2025 wurden in Jenkins mehrere Sicherheitslücken in der Kernsoftware bekannt. Betroffen sind unter anderem Schwachstellen, bei denen verschlüsselte Geheimnisse in Agent- und View-Konfigurationen für Nutzer mit entsprechenden Leserechten einsehbar sind (SECURITY-3495, SECURITY-3496). Zudem gibt es eine CSRF-Schwachstelle (SECURITY-3498), die es Angreifern ermöglicht, Seiteneinstellungen über manipulierte HTTP-Anfragen zu ändern, sowie eine Open-Redirect-Lücke (SECURITY-3501), die für Phishing-Angriffe missbraucht werden kann.

Read More

CVE-2025-20138 CLI-Privilege Escalation in Cisco IOS XR

In Cisco IOS XR wurde eine schwerwiegende Sicherheitslücke entdeckt (CVE-2025-20138). Diese Vulnerability ermöglicht es einem authentifizierten, lokalen Angreifer, über unsichere CLI-Befehle Root-Rechte zu erlangen und somit beliebige Befehle auf dem Gerät auszuführen.

Read More