CVE-2026-106512 in SachertortePHP
Zusammenfassung
von VulDB • 06.10.2026
Die Methode CakeResponse::download() in lib/Cake/Network/CakeResponse.php erstellt einen Content-Disposition-Header, indem ein vom Aufrufer bereitgestellter Dateiname direkt ohne Sanitization in einen quoted-string-Wert interpoliert wird. Im nicht gepatchten Code existieren zwei verschiedene Injektionsvektoren. Erstens lehnt PHP es ab, den gesamten Content-Disposition-Header auszugeben, wenn der Dateiname C0-Control-Zeichen (CR oder LF) enthält; dabei wird die Attachment-Disposition stillschweigend verworfen. Der Antwortkörper wird dann mit seinem eigenen Content-Type (z. B. text/html für eine .html-Anhangsdatei) bereitgestellt und im Browser auf dem Ursprung der Anwendung inline gerendert, was zu einer Stored Cross-Site-Scripting-Bedingung führt. Die Commit-Nachricht weist darauf hin, dass dies auch dann erreichbar ist, wenn die Einstellung download_attachments_on_load aktiviert ist; das bedeutet, dass ein Opfer lediglich eine Seite aufrufen muss, die den Download auslöst. Zweitens beendet ein Doppelquote-Zeichen im Dateinamen den quoted-string-Wert vorzeitig und ermöglicht so die Injektion zusätzlicher Content-Disposition-Parameter. Der betroffene Codepfad umfasst alle Aufrufer von CakeResponse::download(), einschließlich Attributdownloads, Proposal-Downloads und restSearch-Exporten. Ein authentifizierter Benutzer, der einen Anhang mit einem manipulierten Dateinamen (z. B. über die Benennung von MISP-Attributen oder Proposal-Anhängen) erstellen oder hochladen kann, kann den bösartigen Dateinamen speichern. Wenn ein anderer authentifizierter Benutzer die betroffene Seite aufruft, wird der ungesäuberte Dateiname in den HTTP-Antwortheader reflektiert, was zu Header-Manipulation und potenzieller Ausführung von beliebigem HTML oder JavaScript im Kontext des Anwendungsurprungs führt. Die Sicherheitsauswirkung ist äquivalent zu einer Stored Cross-Site-Scripting-Vulnerability (XSS), die Session-Hijacking, Datenexfiltration und unbefugte Aktionen im Namen des Opfers ermöglicht.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.