CVE-2026-55891
NieznaneCVSS 0.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 26 - wyżej niż 26% wszystkich znanych CVE
Streszczenie
PrivateBin przed wersją 2.0.5 zawiera podatność w funkcji Request::getRequestUri(), która przekazuje $_SERVER['REQUEST_URI'] przez FILTER_SANITIZE_URL, nie usuwając cudzysłowów, nawiasów ostrych ani apostrofów. Kontrolowana przez atakującego wartość jest następnie wstawiana do szablonów JSON-LD bez odpowiedniego escapowania JSON, co może pozwolić na wstrzyknięcie danych do odpowiedzi application/ld+json.
Ocena ryzyka
Ryzyko polega na możliwości manipulowania odpowiedziami JSON-LD, co może wpłynąć na konsumentów danych strukturalnych lub połączyć się z mniej rygorystycznymi klientami, potencjalnie prowadząc do wstrzyknięcia treści.
Rekomendacja
Zaleca się aktualizację PrivateBin do wersji 2.0.5, która zawiera poprawkę eliminującą tę podatność.
Inne podatności w PrivateBin
Zobacz wszystkie- CVE-2026-55696Średnie
PrivateBin to internetowy pastebin, w którym serwer nie ma wiedzy o wklejonych danych. Przed wersją 2.0.5 funkcja AttachmentViewer.setAttachment w js/privatebin.js używa getAttachmentMimeType do akceptowania typów MIME kontrolowanych przez atakującego oraz getBlobUrl do tworzenia bloba samego pochodzenia przed ustawieniem href linku Download. Gałąź sanityzacji tylko dla SVG aktualizuje tylko blob podglądu, więc załączniki text/html, image/svg, application/xhtml+xml i text/xml mogą pozostać aktywne w blobie pobierania. Na instancji z fileupload = true i osłabioną, usuniętą lub nieobecną polityką bezpieczeństwa treści, anonimowy atakujący może utworzyć taki załącznik, a ofiara, która otworzy link w nowej karcie, powoduje wykonanie wbudowanego JavaScriptu w kontekście PrivateBin. Skrypt może odczytać lokalne magazyny w zakresie pochodzenia i wysyłać żądania samego pochodzenia, w tym żądania do aplikacji współdzielonych na tej samej domenie. Problem został naprawiony w wersji 2.0.5.
- CVE-2025-64714Średnie
W PrivateBin w wersjach od 1.7.7 do przed 2.0.3 występuje nieuwierzytelnione Local File Inclusion w funkcji przełączania szablonów. Jeśli templateselection jest włączone, serwer ufa ciasteczku template i dołącza wskazany plik PHP, co może pozwolić na odczyt wrażliwych danych lub zdalne wykonanie kodu. Poprawka w wersji 2.0.3; obejściem jest ustawienie templateselection = false.
- CVE-2025-62796Średnie
PrivateBin to pastebin z zerową wiedzą serwera o danych. W wersjach od 1.7.7 do 2.0.1 występuje trwałe wstrzyknięcie HTML poprzez nieoczyszczoną nazwę załącznika (attachment_name), gdy załączniki są włączone. Atakujący może zmodyfikować attachment_name przed szyfrowaniem, aby po odszyfrowaniu wstawić dowolny HTML w pobliżu informacji o rozmiarze pliku, umożliwiając przekierowania i defacement oraz ataki phishingowe. Wykonywanie skryptów jest zazwyczaj blokowane przez zalecane CSP.
Oryginalny opis (angielski, źródło NVD)
PrivateBin is an online pastebin where the server has zero knowledge of pasted data. Prior to 2.0.5, Request::getRequestUri() in lib/Request.php passes $_SERVER['REQUEST_URI'] through FILTER_SANITIZE_URL, which does not remove quotation marks, angle brackets, or apostrophes, and Controller::_init() stores the attacker-controlled value in Controller::$_urlBase. Controller::_jsonld() in lib/Controller.php then uses str_replace() to insert that value without JSON escaping into js/types.jsonld, js/paste.jsonld, and the other JSON-LD templates used by /?jsonld= and /?pasteid. A raw quotation mark delivered by an HTTP client, proxy, or structured-data crawler that does not normalize the request target can break out of the JSON string and inject arbitrary key-value data into a CORS-open application/ld+json response. The jsonld branch in Controller::__construct() returns before _setCacheHeaders(), so the response also lacks X-Content-Type-Options: nosniff, Content Security Policy, X-Frame-Options, and Referrer-Policy. Direct script execution was not demonstrated, but manipulated responses can affect structured-data consumers or combine with less strict clients. This issue is fixed in version 2.0.5.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

