Server-side request forgery in BentoPDF CORS proxy via DNS rebinding
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- High
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-918 and the CVSS impact.
Summary
BentoPDF through 2.8.6 allows server-side request forgery in its Cloudflare CORS proxy worker (CWE-918). The worker checks a hostname's DNS answer separately from the later outbound fetch, so the answer can change between the two. Where PROXY_SECRET validation is disabled, a remote client that controls authoritative DNS can make the proxy reach private or link-local addresses and read the allowed response bodies. Exploitation requires precise timing.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
BentoPDF is a privacy-focused PDF toolkit that runs in the browser. In versions through 2.8.6, cloudflare/cors-proxy-worker.js performs a DNS-over-HTTPS safety check in hostnameResolvesToPrivate(), as used by isValidCertificateUrl() and isValidTsaUrl(), separately from the outbound fetch(targetUrl, ...). In deployments where PROXY_SECRET validation is not enabled, a direct client that controls authoritative DNS can forge the Origin header, supply a certificate, OCSP, CRL, or TSA URL that passes the proxy's accepted path checks, return a public address during validation, and return a private or link-local address during the later fetch. The endpoint can return allowed response bodies to the attacker, but exploitation requires precise timing, redirects and IP-literal obfuscation are blocked, and network reachability limits the target. This vulnerability is fixed in 2.8.7.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
Upgrade BentoPDF to version 2.8.7, which fixes this vulnerability.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
- Fix · CNA bentopdf (alam00000) Fixed in 2.8.7
Timeline
- 2026-10-15 Threatist record created from CVE-2026-102354
- 2026-10-15 CISA SSVC decision points changed
- 2026-10-15 Priority changed: MEDIUM → LOW
References
Other 4
- https://github.com/alam00000/bentopdf/security/advisories/GHSA-wh78-rcw2-hhg9
- https://github.com/alam00000/bentopdf/commit/45496fcd2ed6e02dcdde0d3839cc5024c091760c
- https://github.com/alam00000/bentopdf/commit/58cd1a8893bfe06e4a59a72adc2e7db00a8b9266
- https://github.com/alam00000/bentopdf/releases/tag/v2.8.7
More alam00000 vulnerabilities
- TI-2026-54083 BentoPDF: SSRF in cors-proxy-worker.js via DNS-based hostname allowlist bypass CVSS 3.1HIGH 8.6
- TI-2026-45275 BentoPDF: Workflow Import Allows Unvalidated TSA URL Leading to PDF Hash Exfiltration via RFC 3161 Requests CVSS 3.1LOW 3.4
- TI-2026-30171 BentoPDF: Stored XSS via Markdown Editor Leading to Persistent File Exfiltration CVSS 4.0HIGH 7.0
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences