Description
BentoPDF is a client-side PDF toolkit that is self hostable. In 2.8.6 and earlier, deserializeWorkflow() accepts the Timestamp node's tsaUrl control from imported JSON without schema or destination validation. When a user imports the crafted workflow and runs it against a PDF, timestampPdf() sends an RFC 3161 TimeStampReq containing the PDF's SHA-256 MessageImprint to the attacker-selected endpoint. The default self-hosted configuration does not set VITE_CORS_PROXY_URL, so the request bypasses the proxy's ALLOWED_TSA_HOSTS checks and is sent directly. The disclosed digest can confirm that a document matches a known file and can correlate the same document across users without revealing its contents. This vulnerability is fixed in 2.8.7.
Published: 2026-09-24
Score: 3.4 Low
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure via PDF hash exfiltration
Action: Patch
AI Analysis

Impact

BentoPDF’s deserializeWorkflow() accepts a JSON workflow that contains a Timestamp node with a user-controlled tsaUrl. The timestampPdf() routine sends an RFC 3161 TimeStampReq to the specified endpoint, which includes the PDF’s SHA‑256 MessageImprint. Because the application does not validate this URL, an attacker can cause the client to transmit the PDF hash to an arbitrary server. The disclosed hash reveals that a user’s document matches a known file and enables cross‑user correlation, but it does not expose the document contents.

Affected Systems

Versions of BentoPDF 2.8.6 and earlier issued by alam00000 are affected. The vulnerability is fixed in release 2.8.7.

Risk and Exploitability

The CVSS score of 3.4 indicates low severity. EPSS is not available and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is a user importing a malicious workflow file; the attacker chooses the tsaUrl, causing the client to send a timestamp request directly to the chosen endpoint. The attack does not require elevated privileges or code execution and relies on client trust of imported JSON. If exploitation occurs, it results only in hash exfiltration and document correlation.

Generated by OpenCVE AI on September 25, 2026 at 10:45 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade BentoPDF to version 2.8.7 or later
  • If an upgrade is not possible, set the VITE_CORS_PROXY_URL environment variable and configure ALLOWED_TSA_HOSTS to restrict which TSA endpoints the client may contact
  • Validate or filter the tsaUrl value during Workflow deserialization to ensure it points to an approved trusted host

Generated by OpenCVE AI on September 25, 2026 at 10:45 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 29 Sep 2026 03:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 25 Sep 2026 01:45:00 +0000

Type Values Removed Values Added
First Time appeared Alam00000
Alam00000 bentopdf
Vendors & Products Alam00000
Alam00000 bentopdf

Thu, 24 Sep 2026 15:45:00 +0000

Type Values Removed Values Added
Description BentoPDF is a client-side PDF toolkit that is self hostable. In 2.8.6 and earlier, deserializeWorkflow() accepts the Timestamp node's tsaUrl control from imported JSON without schema or destination validation. When a user imports the crafted workflow and runs it against a PDF, timestampPdf() sends an RFC 3161 TimeStampReq containing the PDF's SHA-256 MessageImprint to the attacker-selected endpoint. The default self-hosted configuration does not set VITE_CORS_PROXY_URL, so the request bypasses the proxy's ALLOWED_TSA_HOSTS checks and is sent directly. The disclosed digest can confirm that a document matches a known file and can correlate the same document across users without revealing its contents. This vulnerability is fixed in 2.8.7.
Title BentoPDF: Workflow Import Allows Unvalidated TSA URL Leading to PDF Hash Exfiltration via RFC 3161 Requests
Weaknesses CWE-201
CWE-502
References
Metrics cvssV3_1

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


Subscriptions

Alam00000 Bentopdf
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-29T02:49:15.644Z

Reserved: 2026-07-17T14:11:15.482Z

Link: CVE-2026-63630

cve-icon Vulnrichment

Updated: 2026-09-29T02:49:09.699Z

cve-icon NVD

Status : Deferred

Published: 2026-09-24T16:17:08.873

Modified: 2026-09-30T19:57:08.043

Link: CVE-2026-63630

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T11:00:12Z

Weaknesses
  • CWE-201

    Insertion of Sensitive Information Into Sent Data

  • CWE-502

    Deserialization of Untrusted Data