CVE-2026-55891 in PrivateBin
Riassunto
di VulDB • 29/08/2026
PrivateBin è un pastebin online in cui il server non ha alcuna conoscenza dei dati incollati. Prima della versione 2.0.5, la funzione Request::getRequestUri() in lib/Request.php passa $_SERVER['REQUEST_URI'] attraverso FILTER_SANITIZE_URL, che non rimuove le virgolette, i tag angolari o gli apostrofi, e Controller::_init() memorizza il valore controllato dall'attaccante in Controller::$_urlBase. Successivamente, Controller::_jsonld() in lib/Controller.php utilizza str_replace() per inserire tale valore senza la corretta escape JSON nei file js/types.jsonld, js/paste.jsonld e negli altri template JSON-LD utilizzati da /?jsonld= e /?pasteid. Una virgoletta grezza (raw) fornita da un client HTTP, proxy o crawler di dati strutturati che non normalizza il target della richiesta può fuoriuscire dalla stringa JSON iniettando arbitrariamente coppie chiave-valore nella risposta application/ld+json con CORS aperto. Il ramo jsonld in Controller::__construct() restituisce l'esecuzione prima di _setCacheHeaders(), quindi la risposta manca anche delle intestazioni X-Content-Type-Options: nosniff, Content Security Policy, X-Frame-Options e Referrer-Policy. L'esecuzione diretta dello script non è stata dimostrata, ma le risposte manipolate possono influenzare i consumatori di dati strutturati o combinarsi con client meno restrittivi. Questo problema è stato risolto nella versione 2.0.5.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.