Description
PrivateBin is an online pastebin where the server has zero knowledge of pasted data. Prior to 2.0.5, AttachmentViewer.setAttachment in js/privatebin.js uses getAttachmentMimeType to accept attacker-controlled MIME types and uses getBlobUrl to create a same-origin blob before setting attachmentLink's href for the Download attachment link. The SVG-only sanitization branch updates only the preview blob, so text/html, image/svg, application/xhtml+xml, and text/xml attachments can remain active in the download blob. On an instance with fileupload = true and a weakened, stripped, or absent Content Security Policy, an anonymous attacker can create such an attachment, and a victim who opens the link in a new tab causes inline JavaScript to execute in the PrivateBin origin. The script can read origin-scoped local storage and issue same-origin requests, including requests to applications co-hosted on the same domain. This issue is fixed in version 2.0.5.
Published: 2026-08-28
Score: 4.3 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

PrivateBin stores pasted data only in the client session, but prior to version 2.0.5 the JavaScript that builds the attachment download link did not validate the attached MIME type. An attacker can embed a payload in a malicious MIME type such as text/html, image/svg or application/xhtml+xml. When a user clicks the generated download link, the browser creates a same‑origin blob containing the untrusted content and the browser then executes any inline JavaScript that the blob lives in the PrivateBin origin. The script can read the browser’s local storage and send same‑origin requests, which may expose session data or enable further attacks against co‑hosted applications. This is a classic client‑side XSS flaw that gives the attacker execution privileges in the victim’s browser within the PrivateBin domain.

Affected Systems

The flaw exists in all PrivateBin instances running a version older than 2.0.5, provided the server configuration allows file uploads (fileupload = true) and does not enforce a restrictive Content Security Policy. The CNA vendor is PrivateBin and the affected product is PrivateBin; the vulnerability is fixed in release 2.0.5.

Risk and Exploitability

The CVSS score of 4.3 indicates a moderate severity. Exploitation requires the attacker to upload a crafted attachment and a victim to interact by clicking the download link, but any user of the affected instance can be targeted. An attacker can use the XSS to exfiltrate data or hijack user sessions. The risk is further heightened when a weak or absent Content Security Policy is in place. The EPSS score is not available and the vulnerability is not listed in CISA KEV, suggesting no widespread exploitation yet, but the potential for damage remains if hosts run vulnerable PrivateBin versions.

Generated by OpenCVE AI on August 29, 2026 at 00:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade PrivateBin to version 2.0.5 or later to receive the fix that validates MIME types for download links.
  • As a temporary measure, disable file uploads by setting fileupload to false or restrict the allowed MIME types to safe content such as image/png and text/plain.
  • Implement a strict Content Security Policy that blocks inline scripts and limits default sources and script sources to mitigate the impact of any residual client‑side XSS.

Generated by OpenCVE AI on August 29, 2026 at 00:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-f2xf-7x3g-4272 PrivateBin has stored Cross-Side-Scripting (XSS) vulnerability in attachment download link via dangerous MIME types with required user-interaction
History

Sat, 29 Aug 2026 00:30:00 +0000

Type Values Removed Values Added
First Time appeared Privatebin
Privatebin privatebin
Vendors & Products Privatebin
Privatebin privatebin

Fri, 28 Aug 2026 22:00:00 +0000

Type Values Removed Values Added
Description PrivateBin is an online pastebin where the server has zero knowledge of pasted data. Prior to 2.0.5, AttachmentViewer.setAttachment in js/privatebin.js uses getAttachmentMimeType to accept attacker-controlled MIME types and uses getBlobUrl to create a same-origin blob before setting attachmentLink's href for the Download attachment link. The SVG-only sanitization branch updates only the preview blob, so text/html, image/svg, application/xhtml+xml, and text/xml attachments can remain active in the download blob. On an instance with fileupload = true and a weakened, stripped, or absent Content Security Policy, an anonymous attacker can create such an attachment, and a victim who opens the link in a new tab causes inline JavaScript to execute in the PrivateBin origin. The script can read origin-scoped local storage and issue same-origin requests, including requests to applications co-hosted on the same domain. This issue is fixed in version 2.0.5.
Title PrivateBin: Stored Cross-Side-Scripting (XSS) vulnerability in attachment download link via dangerous MIME types with required user-interaction
Weaknesses CWE-79
CWE-80
References
Metrics cvssV3_1

{'score': 4.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N'}


Subscriptions

Privatebin Privatebin
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-28T20:20:53.934Z

Reserved: 2026-06-17T00:13:10.650Z

Link: CVE-2026-55696

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-28T22:16:51.553

Modified: 2026-08-28T22:16:51.553

Link: CVE-2026-55696

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-29T00:30:17Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

  • CWE-80

    Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS)