CVE-2025-64711
NiskieCVSS 3.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
Podatność typu self-XSS w PrivateBin polega na tym, że nazwa pliku zawierająca kod HTML jest odzwierciedlana bezpośrednio na stronie przez mechanizm obsługi przeciągania i upuszczania. Użytkownik systemu macOS lub Linux, który przeciągnie spreparowany plik do edytora, może wykonać dowolny JavaScript we własnej sesji. Wymagane jest włączone przesyłanie plików oraz interakcja użytkownika.
Ocena ryzyka
Atakujący może wykraść tekst jawny, hasła lub klucze szyfrujące przed zaszyfrowaniem danych, naruszając gwarancje zero-knowledge dla danej sesji. Jeśli CSP jest wyłączone, możliwe są również ataki HTML injection, np. przekierowania na obcą stronę lub phishing.
Rekomendacja
Zaktualizuj PrivateBin do wersji 2.0.3 lub nowszej, która naprawia podatność. Dodatkowo upewnij się, że polityka Content-Security-Policy (CSP) jest włączona i prawidłowo skonfigurowana.
Inne podatności w PrivateBin
Zobacz wszystkie- CVE-2026-55891Nieznane
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.
- 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. Starting in version 1.7.7 and prior to version 2.0.3, dragging a file whose filename contains HTML is reflected verbatim into the page via the drag-and-drop helper, so any user who drops a crafted file on PrivateBin will execute arbitrary JavaScript within their own session (self-XSS). This allows an attacker who can entice a victim to drag or otherwise attach such a file to exfiltrate plaintext, encryption keys, or stored pastes before they are encrypted or sent. Certain conditions must exist for the vulnerability to be exploitable. Only macOS or Linux users are affected, due to the way the `>` character is treated in a file name on Windows. The PrivateBin instance needs to have file upload enabled. An attacker needs to have access to the local file system or somehow convince the user to create (or download) a malicious file (name). An attacker needs to convince the user to attach that malicious file to PrivateBin. Any Mac / Linux user who can be tricked into dragging a maliciously named file into the editor is impacted; code runs in the origin of the PrivateBin instance they are using. Attackers can steal plaintext, passphrases, or manipulate the UI before data is encrypted, defeating the zero-knowledge guarantees for that victim session, assuming counter-measures like Content-Security-Policy (CSP) have been disabled. If CSP is not disabled, HTML injection attacks may be possible - like redirecting to a foreign website, phishing etc. As the whole exploit needs to be included in the file name of the attached file and only affects the local session of the user (aka it is neither persistent nor remotely executable) and that user needs to interact and actively attach that file to the paste, the impact is considered to be practically low. Version 2.0.3 patches the issue.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

