PHP 8: HTTP-Wrapper Schwachstellen erlauben HTTP Request Smuggling

Table of Contents

PHP ist aktuell von zwei moderaten Schwachstellen betroffen, die die Verarbeitung von HTTP-Headern und Redirect-URIs in den internen Stream-Wrappern beeinträchtigen. Beide Probleme wurden in Versionen vor 8.1.32, 8.2.28, 8.3.18 und 8.4.5 festgestellt und in den folgenden Versionen behoben.

CVE-2025-1734: UngĂĽltige Header-Namen werden nicht abgefangen

Betroffene Versionen:

  • PHP < 8.1.32
  • PHP < 8.2.28
  • PHP < 8.3.18
  • PHP < 8.4.5

Bei der Nutzung des HTTP-Stream-Wrappers werden Header, die keinen Doppelpunkt enthalten – oder solche, bei denen ein Leerzeichen vor dem Doppelpunkt steht – fälschlicherweise als gültig interpretiert und in das Array $http_response_header aufgenommen.
Beispiel:

printf "HTTP/1.0 200 Ok\r\nContent-Type: text/html\r\nWrong-Header\r\nGood-Header: test\r\n\r\nbody\r\n" | nc -l 0.0.0.0 8000

liefert ein Array mit:

  • “HTTP/1.0 200 Ok”
  • “Content-Type: text/html”
  • “Wrong-Header”
  • “Good-Header: test”

Die fehlerhafte Verarbeitung dieser Header kann dazu führen, dass Anwendungen sie entweder als valide Header oder als Fortsetzung des vorangegangenen Headers interpretieren. Dies kann in bestimmten Szenarien zu Request Smuggling führen, da unsauber geparste Header fälschlicherweise als Teil der Anfrage interpretiert werden.

Workaround:
Entwickler können das Array $http_response_header speziell validieren und ungültige Header manuell herausfiltern. Eine Benachrichtigung über diese Header erfolgt jedoch nicht automatisch.

CVE-2025-1861: URI-Trunkierung bei Redirect-Location auf 1024 Bytes

Betroffene Versionen:

  • PHP < 8.1.32
  • PHP < 8.2.28
  • PHP < 8.3.18
  • PHP < 8.4.5

Der HTTP-Wrapper in PHP begrenzt derzeit die Länge des Werts für die Redirect-Location-Header auf 1024 Bytes, da der interne Puffer entsprechend limitiert ist. Laut RFC 9110 wird jedoch ein Limit von 8000 Bytes empfohlen, während Browser typischerweise bis zu 2048 Bytes unterstützen.

Diese zu niedrige Begrenzung kann dazu führen, dass wichtige Informationen in der Umleitungs-URL – etwa aus der Query-String – abgeschnitten werden. In manchen Fällen kann dies zu einer falschen Umleitung oder sogar zu einem Denial-of-Service führen, wenn der gekürzte URI einen Fehler provoziert.

Related Posts

MDM System Fleet DM behebt kritische SAML-AuthentifizierungslĂĽcke

Fleet DM hat in den Versionen bis 4.64.1 eine kritische Schwachstelle in der SAML-Authentifizierung identifiziert und behoben. Durch eine unzureichende Validierung von SAML-Antworten konnten Angreifer speziell gestaltete Antworten einreichen, um Authentifizierungsaussagen zu fälschen. Dies ermöglicht nicht nur das Imitieren legitimer Benutzer, sondern auch – sofern Just-In-Time Provisioning aktiviert ist – das Anlegen administrativer Konten. Zudem können bei aktiviertem MDM Enrollment über bestimmte Endpunkte neue Konten erstellt werden, was den unautorisierten Zugriff auf Fleet-Systeme, inklusive administrativer Rechte und Einsicht in Gerätedaten, zur Folge haben kann.

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