PT-2026-83351 · Unknown · Privatebin
CVE-2026-55891
·
Published
2026-08-28
·
Updated
2026-08-28
CVSS v3.1
0.0
None
| Vector | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N |
Name of the Vulnerable Software and Affected Versions
PrivateBin versions prior to 2.0.5
Description
Reflected JSON injection allows an attacker to return arbitrary data in JSON endpoints, specifically
/?jsonld= and /?pasteid. The issue occurs because Request::getRequestUri() in lib/Request.php uses FILTER SANITIZE URL on $ SERVER['REQUEST URI'], which fails to remove quotation marks, angle brackets, or apostrophes. This value is stored in Controller::$ urlBase and subsequently inserted into JSON-LD templates via str replace() in Controller:: jsonld() without proper JSON escaping. An attacker can use a raw quotation mark in the request URI to break out of the JSON string and inject arbitrary key-value data into a CORS-open application/ld+json response. Additionally, the jsonld branch in Controller:: construct() returns before setCacheHeaders(), causing the response to lack critical security headers: X-Content-Type-Options: nosniff, Content Security Policy, X-Frame-Options, and Referrer-Policy. While direct script execution was not demonstrated, manipulated responses can affect structured-data consumers or be exploited by less strict clients.Recommendations
Update PrivateBin to version 2.0.5.
Exploit
Fix
Improper Encoding or Escaping of Output
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Privatebin