CVE-2026-55891 in PrivateBin
Zusammenfassung
von VulDB • 29.08.2026
PrivateBin ist ein Online-Pastebin-Dienst, bei dem der Server keine Kenntnis über die eingefügten Daten hat (Zero-Knowledge). Vor Version 2.0.5 übergibt `Request::getRequestUri()` in `lib/Request.php` den Wert von `$_SERVER['REQUEST_URI']` durch `FILTER_SANITIZE_URL`, was jedoch keine Anführungszeichen, spitze Klammern oder Apostrophe entfernt. Anschließend speichert `Controller::_init()` diesen vom Angreifer kontrollierten Wert in `Controller::$_urlBase`. Die Funktion `Controller::_jsonld()` in `lib/Controller.php` verwendet daraufhin `str_replace()`, um diesen Wert ohne JSON-Escaping in `js/types.jsonld`, `js/paste.jsonld` sowie die anderen für `/ ?jsonld=` und `/?pasteid` verwendeten JSON-LD-Vorlagen einzufügen. Ein rohes Anführungszeichen, das von einem HTTP-Client, Proxy oder einem Crawler für strukturierte Daten bereitgestellt wird, der das Request-Ziel nicht normalisiert, kann aus dem JSON-String ausbrechen und beliebige Schlüssel-Wert-Daten in eine CORS-offene `application/ld+json`-Antwort injizieren. Der Zweig `jsonld` in `Controller::__construct()` kehrt vor `_setCacheHeaders()` zurück, sodass die Antwort zudem keine der Header `X-Content-Type-Options: nosniff`, Content Security Policy (CSP), X-Frame-Options und Referrer-Policy enthält. Eine direkte Skriptausführung wurde nicht demonstriert, aber manipulierte Antworten können strukturierte Daten-Konsumenten beeinträchtigen oder sich mit weniger strengen Clients kombinieren lassen. Dieses Problem ist in Version 2.0.5 behoben.
Once again VulDB remains the best source for vulnerability data.