{"schema_version":"2","view":"grouped","data":[{"id":30010,"cve_ids":["CVE-2026-102354"],"payload":{"kind":"advisory","title":"BentoPDF: SSRF via DNS Rebinding (TOCTOU) in Cloudflare CORS Proxy Worker","summary":"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.","evidence":"cve:CVE-2026-102354","products":[{"name":{"value":"bentopdf","evidence":"/containers/cna/affected/0/product"},"prerequisites":[],"fixed_versions":[],"affected_versions":[]}],"severity":"medium","structured":{"id":"CVE-2026-102354","aliases":["CVE-2026-102354"],"metrics":[{"cvssV3_1":{"scope":"CHANGED","version":"3.1","baseScore":6.8,"attackVector":"NETWORK","baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N","integrityImpact":"NONE","userInteraction":"NONE","attackComplexity":"HIGH","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"HIGH"}}],"affected":[{"vendor":"alam00000","product":"bentopdf","versions":[{"status":"affected","version":"< 2.8.7"}]}],"modified":"2026-10-15T16:19:56.322Z","provider":"cve","references":["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"],"provider_metadata":{"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-102354","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-10-15T16:19:47.788376Z"}}}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-10-15T16:19:56.322Z"}}],"cna":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-10-14T19:00:13.518Z"}}},"related_cves":[{"value":"CVE-2026-102354","evidence":"/cveMetadata/cveId"}],"security_relevant":true,"severity_evidence":"/containers/cna/metrics"},"group_id":"advisory:b6e494ea-7a2d-41da-b3a8-ddd5b760c250","priority":{"reasons":[],"severity":"medium","linked_cves":[],"fix_available":false,"known_exploited":false,"publisher_severity":"medium"},"revision":1,"source_id":"core-cve","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-102354","advisory_id":"b6e494ea-7a2d-41da-b3a8-ddd5b760c250","event_types":["advisory"],"published_at":"2026-10-25T08:04:21.930733+00:00","technologies":["bentopdf","core-cve"],"context_update":false,"extraction_method":"structured","source_published_at":"2026-10-14T19:00:13.518+00:00","detail_url":"/advisories/advisory%3Ab6e494ea-7a2d-41da-b3a8-ddd5b760c250","group":{"id":"advisory:b6e494ea-7a2d-41da-b3a8-ddd5b760c250","revision":1,"primary_event_id":29768,"change":"published","superseded_by":[],"changed":{"id":29768,"cve_ids":["CVE-2026-102354"],"payload":{"kind":"advisory","title":"BentoPDF: SSRF via DNS Rebinding (TOCTOU) in Cloudflare CORS Proxy Worker","summary":"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.","evidence":"cve:CVE-2026-102354","products":[{"name":{"value":"bentopdf","evidence":"/containers/cna/affected/0/product"},"prerequisites":[],"fixed_versions":[],"affected_versions":[]}],"severity":"medium","structured":{"id":"CVE-2026-102354","aliases":["CVE-2026-102354"],"metrics":[{"cvssV3_1":{"scope":"CHANGED","version":"3.1","baseScore":6.8,"attackVector":"NETWORK","baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N","integrityImpact":"NONE","userInteraction":"NONE","attackComplexity":"HIGH","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"HIGH"}}],"affected":[{"vendor":"alam00000","product":"bentopdf","versions":[{"status":"affected","version":"< 2.8.7"}]}],"modified":"2026-10-15T16:19:56.322Z","provider":"cve","references":["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"],"provider_metadata":{"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-102354","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-10-15T16:19:47.788376Z"}}}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-10-15T16:19:56.322Z"}}],"cna":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-10-14T19:00:13.518Z"}}},"related_cves":[{"value":"CVE-2026-102354","evidence":"/cveMetadata/cveId"}],"security_relevant":true,"severity_evidence":"/containers/cna/metrics"},"group_id":"advisory:b6e494ea-7a2d-41da-b3a8-ddd5b760c250","priority":{"reasons":[],"severity":"medium","linked_cves":[],"fix_available":false,"known_exploited":false,"publisher_severity":"medium"},"revision":1,"source_id":"core-cve","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-102354","advisory_id":"b6e494ea-7a2d-41da-b3a8-ddd5b760c250","event_types":["advisory"],"published_at":"2026-10-25T08:04:21.930733+00:00","technologies":["bentopdf","core-cve"],"context_update":false,"extraction_method":"structured","source_published_at":"2026-10-14T19:00:13.518+00:00","detail_url":"/events/29768"},"members":[{"id":29768,"cve_ids":["CVE-2026-102354"],"payload":{"kind":"advisory","title":"BentoPDF: SSRF via DNS Rebinding (TOCTOU) in Cloudflare CORS Proxy Worker","summary":"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.","evidence":"cve:CVE-2026-102354","products":[{"name":{"value":"bentopdf","evidence":"/containers/cna/affected/0/product"},"prerequisites":[],"fixed_versions":[],"affected_versions":[]}],"severity":"medium","structured":{"id":"CVE-2026-102354","aliases":["CVE-2026-102354"],"metrics":[{"cvssV3_1":{"scope":"CHANGED","version":"3.1","baseScore":6.8,"attackVector":"NETWORK","baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N","integrityImpact":"NONE","userInteraction":"NONE","attackComplexity":"HIGH","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"HIGH"}}],"affected":[{"vendor":"alam00000","product":"bentopdf","versions":[{"status":"affected","version":"< 2.8.7"}]}],"modified":"2026-10-15T16:19:56.322Z","provider":"cve","references":["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"],"provider_metadata":{"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-102354","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-10-15T16:19:47.788376Z"}}}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-10-15T16:19:56.322Z"}}],"cna":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-10-14T19:00:13.518Z"}}},"related_cves":[{"value":"CVE-2026-102354","evidence":"/cveMetadata/cveId"}],"security_relevant":true,"severity_evidence":"/containers/cna/metrics"},"group_id":"advisory:b6e494ea-7a2d-41da-b3a8-ddd5b760c250","priority":{"reasons":[],"severity":"medium","linked_cves":[],"fix_available":false,"known_exploited":false,"publisher_severity":"medium"},"revision":1,"source_id":"core-cve","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-102354","advisory_id":"b6e494ea-7a2d-41da-b3a8-ddd5b760c250","event_types":["advisory"],"published_at":"2026-10-25T08:04:21.930733+00:00","technologies":["bentopdf","core-cve"],"context_update":false,"extraction_method":"structured","source_published_at":"2026-10-14T19:00:13.518+00:00","detail_url":"/events/29768"}]}},{"id":3361,"cve_ids":["CVE-2026-63630"],"payload":{"kind":"advisory","title":"BentoPDF: Workflow Import Allows Unvalidated TSA URL Leading to PDF Hash Exfiltration via RFC 3161 Requests","summary":"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.","evidence":"cve:CVE-2026-63630","products":[{"name":{"value":"bentopdf","evidence":"/containers/cna/affected/0/product"},"prerequisites":[],"fixed_versions":[],"affected_versions":[]}],"severity":"low","structured":{"id":"CVE-2026-63630","aliases":["CVE-2026-63630"],"metrics":[{"cvssV3_1":{"scope":"CHANGED","version":"3.1","baseScore":3.4,"attackVector":"NETWORK","baseSeverity":"LOW","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:N/A:N","integrityImpact":"NONE","userInteraction":"REQUIRED","attackComplexity":"HIGH","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"LOW"}}],"affected":[{"vendor":"alam00000","product":"bentopdf","versions":[{"status":"affected","version":"< 2.8.7"}]}],"modified":"2026-09-29T02:49:15.644Z","provider":"cve","references":["https://github.com/alam00000/bentopdf/security/advisories/GHSA-cx8x-7rrr-r9x8","https://github.com/alam00000/bentopdf/commit/b21f602cca972320bfffbf72e37df535313a6e48","https://github.com/alam00000/bentopdf/releases/tag/v2.8.7"],"provider_metadata":{"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-63630","role":"CISA Coordinator","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-09-29T02:48:51.526364Z"}}}],"references":[{"url":"https://github.com/alam00000/bentopdf/security/advisories/GHSA-cx8x-7rrr-r9x8","tags":["exploit"]}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-09-29T02:49:15.644Z"}}],"cna":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-09-24T15:33:44.489Z"}}},"related_cves":[{"value":"CVE-2026-63630","evidence":"/cveMetadata/cveId"}],"security_relevant":true,"severity_evidence":"/containers/cna/metrics"},"group_id":"advisory:dd55b474-0e49-4f24-bdc0-badb278a010c","priority":{"reasons":[],"severity":"low","linked_cves":[],"fix_available":false,"known_exploited":false,"publisher_severity":"low"},"revision":1,"source_id":"core-cve","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-63630","advisory_id":"dd55b474-0e49-4f24-bdc0-badb278a010c","event_types":["advisory"],"published_at":"2026-10-24T21:34:06.390545+00:00","technologies":["bentopdf","core-cve"],"context_update":false,"extraction_method":"structured","source_published_at":"2026-09-24T15:33:44.489+00:00","detail_url":"/advisories/advisory%3Add55b474-0e49-4f24-bdc0-badb278a010c","group":{"id":"advisory:dd55b474-0e49-4f24-bdc0-badb278a010c","revision":1,"primary_event_id":3375,"change":"published","superseded_by":[],"changed":{"id":3375,"cve_ids":["CVE-2026-63630"],"payload":{"kind":"advisory","title":"BentoPDF: Workflow Import Allows Unvalidated TSA URL Leading to PDF Hash Exfiltration via RFC 3161 Requests","summary":"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.","evidence":"cve:CVE-2026-63630","products":[{"name":{"value":"bentopdf","evidence":"/containers/cna/affected/0/product"},"prerequisites":[],"fixed_versions":[],"affected_versions":[]}],"severity":"low","structured":{"id":"CVE-2026-63630","aliases":["CVE-2026-63630"],"metrics":[{"cvssV3_1":{"scope":"CHANGED","version":"3.1","baseScore":3.4,"attackVector":"NETWORK","baseSeverity":"LOW","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:N/A:N","integrityImpact":"NONE","userInteraction":"REQUIRED","attackComplexity":"HIGH","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"LOW"}}],"affected":[{"vendor":"alam00000","product":"bentopdf","versions":[{"status":"affected","version":"< 2.8.7"}]}],"modified":"2026-09-29T02:49:15.644Z","provider":"cve","references":["https://github.com/alam00000/bentopdf/security/advisories/GHSA-cx8x-7rrr-r9x8","https://github.com/alam00000/bentopdf/commit/b21f602cca972320bfffbf72e37df535313a6e48","https://github.com/alam00000/bentopdf/releases/tag/v2.8.7"],"provider_metadata":{"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-63630","role":"CISA Coordinator","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-09-29T02:48:51.526364Z"}}}],"references":[{"url":"https://github.com/alam00000/bentopdf/security/advisories/GHSA-cx8x-7rrr-r9x8","tags":["exploit"]}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-09-29T02:49:15.644Z"}}],"cna":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-09-24T15:33:44.489Z"}}},"related_cves":[{"value":"CVE-2026-63630","evidence":"/cveMetadata/cveId"}],"security_relevant":true,"severity_evidence":"/containers/cna/metrics"},"group_id":"advisory:dd55b474-0e49-4f24-bdc0-badb278a010c","priority":{"reasons":[],"severity":"low","linked_cves":[],"fix_available":false,"known_exploited":false,"publisher_severity":"low"},"revision":1,"source_id":"core-cve","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-63630","advisory_id":"dd55b474-0e49-4f24-bdc0-badb278a010c","event_types":["advisory"],"published_at":"2026-10-24T21:34:06.390545+00:00","technologies":["bentopdf","core-cve"],"context_update":false,"extraction_method":"structured","source_published_at":"2026-09-24T15:33:44.489+00:00","detail_url":"/events/3375"},"members":[{"id":3375,"cve_ids":["CVE-2026-63630"],"payload":{"kind":"advisory","title":"BentoPDF: Workflow Import Allows Unvalidated TSA URL Leading to PDF Hash Exfiltration via RFC 3161 Requests","summary":"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.","evidence":"cve:CVE-2026-63630","products":[{"name":{"value":"bentopdf","evidence":"/containers/cna/affected/0/product"},"prerequisites":[],"fixed_versions":[],"affected_versions":[]}],"severity":"low","structured":{"id":"CVE-2026-63630","aliases":["CVE-2026-63630"],"metrics":[{"cvssV3_1":{"scope":"CHANGED","version":"3.1","baseScore":3.4,"attackVector":"NETWORK","baseSeverity":"LOW","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:N/A:N","integrityImpact":"NONE","userInteraction":"REQUIRED","attackComplexity":"HIGH","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"LOW"}}],"affected":[{"vendor":"alam00000","product":"bentopdf","versions":[{"status":"affected","version":"< 2.8.7"}]}],"modified":"2026-09-29T02:49:15.644Z","provider":"cve","references":["https://github.com/alam00000/bentopdf/security/advisories/GHSA-cx8x-7rrr-r9x8","https://github.com/alam00000/bentopdf/commit/b21f602cca972320bfffbf72e37df535313a6e48","https://github.com/alam00000/bentopdf/releases/tag/v2.8.7"],"provider_metadata":{"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-63630","role":"CISA Coordinator","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-09-29T02:48:51.526364Z"}}}],"references":[{"url":"https://github.com/alam00000/bentopdf/security/advisories/GHSA-cx8x-7rrr-r9x8","tags":["exploit"]}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-09-29T02:49:15.644Z"}}],"cna":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-09-24T15:33:44.489Z"}}},"related_cves":[{"value":"CVE-2026-63630","evidence":"/cveMetadata/cveId"}],"security_relevant":true,"severity_evidence":"/containers/cna/metrics"},"group_id":"advisory:dd55b474-0e49-4f24-bdc0-badb278a010c","priority":{"reasons":[],"severity":"low","linked_cves":[],"fix_available":false,"known_exploited":false,"publisher_severity":"low"},"revision":1,"source_id":"core-cve","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-63630","advisory_id":"dd55b474-0e49-4f24-bdc0-badb278a010c","event_types":["advisory"],"published_at":"2026-10-24T21:34:06.390545+00:00","technologies":["bentopdf","core-cve"],"context_update":false,"extraction_method":"structured","source_published_at":"2026-09-24T15:33:44.489+00:00","detail_url":"/events/3375"}]}},{"id":1799,"cve_ids":["CVE-2026-77581"],"payload":{"kind":"advisory","title":"BentoPDF: SSRF in cors-proxy-worker.js via DNS-based hostname allowlist bypass","summary":"BentoPDF is a client-side PDF toolkit that is self hostable. In 2.8.6 and earlier, the certificate and timestamp CORS proxy in cloudflare/cors-proxy-worker.js uses isPrivateOrReservedHost() to validate a supplied hostname separately from the DNS resolution used by fetch(targetUrl), allowing an attacker-controlled hostname to resolve to an internal or reserved destination after validation. A certificate-like path can satisfy ALLOWED_PATH_PATTERNS, and direct clients can forge the browser-oriented Origin header. Deployments without PROXY_SECRET skip the optional signature check, while the signature is an anti-abuse measure rather than a destination-security boundary. The proxy has a 10 MB response limit and can relay response bodies from reachable destinations. The advisory identifies both the official Worker deployment and self-hosted instances as impacted where the Worker execution environment can reach internal or reserved destinations. This vulnerability is fixed in 2.8.7.","evidence":"cve:CVE-2026-77581","products":[{"name":{"value":"bentopdf","evidence":"/containers/cna/affected/0/product"},"prerequisites":[],"fixed_versions":[],"affected_versions":[]}],"severity":"high","structured":{"id":"CVE-2026-77581","aliases":["CVE-2026-77581"],"metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":8.6,"attackVector":"NETWORK","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L","integrityImpact":"LOW","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"LOW","privilegesRequired":"NONE","confidentialityImpact":"HIGH"}}],"affected":[{"vendor":"alam00000","product":"bentopdf","versions":[{"status":"affected","version":"< 2.8.7"}]}],"modified":"2026-09-24T15:37:29.237Z","provider":"cve","references":["https://github.com/alam00000/bentopdf/security/advisories/GHSA-5xjf-rr5x-pcfj","https://github.com/alam00000/bentopdf/commit/45496fcd2ed6e02dcdde0d3839cc5024c091760c","https://github.com/alam00000/bentopdf/commit/58cd1a8893bfe06e4a59a72adc2e7db00a8b9266","https://github.com/alam00000/bentopdf/releases/tag/v2.8.7"],"provider_metadata":{"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-77581","role":"CISA Coordinator","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-09-24T15:37:09.697885Z"}}}],"references":[{"url":"https://github.com/alam00000/bentopdf/security/advisories/GHSA-5xjf-rr5x-pcfj","tags":["exploit"]}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-09-24T15:37:29.237Z"}}],"cna":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-09-24T15:23:18.550Z"}}},"related_cves":[{"value":"CVE-2026-77581","evidence":"/cveMetadata/cveId"}],"security_relevant":true,"severity_evidence":"/containers/cna/metrics"},"group_id":"advisory:08aa1028-a3b8-4fd3-b78c-0124f3d41a21","priority":{"reasons":["publisher_severity"],"severity":"high","linked_cves":[],"fix_available":false,"known_exploited":false,"publisher_severity":"high"},"revision":1,"source_id":"core-cve","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-77581","advisory_id":"08aa1028-a3b8-4fd3-b78c-0124f3d41a21","event_types":["advisory"],"published_at":"2026-10-24T21:07:54.572821+00:00","technologies":["bentopdf","core-cve"],"context_update":false,"extraction_method":"structured","source_published_at":"2026-09-24T15:23:18.55+00:00","detail_url":"/advisories/advisory%3A08aa1028-a3b8-4fd3-b78c-0124f3d41a21","group":{"id":"advisory:08aa1028-a3b8-4fd3-b78c-0124f3d41a21","revision":1,"primary_event_id":1787,"change":"published","superseded_by":[],"changed":{"id":1787,"cve_ids":["CVE-2026-77581"],"payload":{"kind":"advisory","title":"BentoPDF: SSRF in cors-proxy-worker.js via DNS-based hostname allowlist bypass","summary":"BentoPDF is a client-side PDF toolkit that is self hostable. In 2.8.6 and earlier, the certificate and timestamp CORS proxy in cloudflare/cors-proxy-worker.js uses isPrivateOrReservedHost() to validate a supplied hostname separately from the DNS resolution used by fetch(targetUrl), allowing an attacker-controlled hostname to resolve to an internal or reserved destination after validation. A certificate-like path can satisfy ALLOWED_PATH_PATTERNS, and direct clients can forge the browser-oriented Origin header. Deployments without PROXY_SECRET skip the optional signature check, while the signature is an anti-abuse measure rather than a destination-security boundary. The proxy has a 10 MB response limit and can relay response bodies from reachable destinations. The advisory identifies both the official Worker deployment and self-hosted instances as impacted where the Worker execution environment can reach internal or reserved destinations. This vulnerability is fixed in 2.8.7.","evidence":"cve:CVE-2026-77581","products":[{"name":{"value":"bentopdf","evidence":"/containers/cna/affected/0/product"},"prerequisites":[],"fixed_versions":[],"affected_versions":[]}],"severity":"high","structured":{"id":"CVE-2026-77581","aliases":["CVE-2026-77581"],"metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":8.6,"attackVector":"NETWORK","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L","integrityImpact":"LOW","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"LOW","privilegesRequired":"NONE","confidentialityImpact":"HIGH"}}],"affected":[{"vendor":"alam00000","product":"bentopdf","versions":[{"status":"affected","version":"< 2.8.7"}]}],"modified":"2026-09-24T15:37:29.237Z","provider":"cve","references":["https://github.com/alam00000/bentopdf/security/advisories/GHSA-5xjf-rr5x-pcfj","https://github.com/alam00000/bentopdf/commit/45496fcd2ed6e02dcdde0d3839cc5024c091760c","https://github.com/alam00000/bentopdf/commit/58cd1a8893bfe06e4a59a72adc2e7db00a8b9266","https://github.com/alam00000/bentopdf/releases/tag/v2.8.7"],"provider_metadata":{"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-77581","role":"CISA Coordinator","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-09-24T15:37:09.697885Z"}}}],"references":[{"url":"https://github.com/alam00000/bentopdf/security/advisories/GHSA-5xjf-rr5x-pcfj","tags":["exploit"]}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-09-24T15:37:29.237Z"}}],"cna":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-09-24T15:23:18.550Z"}}},"related_cves":[{"value":"CVE-2026-77581","evidence":"/cveMetadata/cveId"}],"security_relevant":true,"severity_evidence":"/containers/cna/metrics"},"group_id":"advisory:08aa1028-a3b8-4fd3-b78c-0124f3d41a21","priority":{"reasons":["publisher_severity"],"severity":"high","linked_cves":[],"fix_available":false,"known_exploited":false,"publisher_severity":"high"},"revision":1,"source_id":"core-cve","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-77581","advisory_id":"08aa1028-a3b8-4fd3-b78c-0124f3d41a21","event_types":["advisory"],"published_at":"2026-10-24T21:07:54.572821+00:00","technologies":["bentopdf","core-cve"],"context_update":false,"extraction_method":"structured","source_published_at":"2026-09-24T15:23:18.55+00:00","detail_url":"/events/1787"},"members":[{"id":1787,"cve_ids":["CVE-2026-77581"],"payload":{"kind":"advisory","title":"BentoPDF: SSRF in cors-proxy-worker.js via DNS-based hostname allowlist bypass","summary":"BentoPDF is a client-side PDF toolkit that is self hostable. In 2.8.6 and earlier, the certificate and timestamp CORS proxy in cloudflare/cors-proxy-worker.js uses isPrivateOrReservedHost() to validate a supplied hostname separately from the DNS resolution used by fetch(targetUrl), allowing an attacker-controlled hostname to resolve to an internal or reserved destination after validation. A certificate-like path can satisfy ALLOWED_PATH_PATTERNS, and direct clients can forge the browser-oriented Origin header. Deployments without PROXY_SECRET skip the optional signature check, while the signature is an anti-abuse measure rather than a destination-security boundary. The proxy has a 10 MB response limit and can relay response bodies from reachable destinations. The advisory identifies both the official Worker deployment and self-hosted instances as impacted where the Worker execution environment can reach internal or reserved destinations. This vulnerability is fixed in 2.8.7.","evidence":"cve:CVE-2026-77581","products":[{"name":{"value":"bentopdf","evidence":"/containers/cna/affected/0/product"},"prerequisites":[],"fixed_versions":[],"affected_versions":[]}],"severity":"high","structured":{"id":"CVE-2026-77581","aliases":["CVE-2026-77581"],"metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":8.6,"attackVector":"NETWORK","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L","integrityImpact":"LOW","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"LOW","privilegesRequired":"NONE","confidentialityImpact":"HIGH"}}],"affected":[{"vendor":"alam00000","product":"bentopdf","versions":[{"status":"affected","version":"< 2.8.7"}]}],"modified":"2026-09-24T15:37:29.237Z","provider":"cve","references":["https://github.com/alam00000/bentopdf/security/advisories/GHSA-5xjf-rr5x-pcfj","https://github.com/alam00000/bentopdf/commit/45496fcd2ed6e02dcdde0d3839cc5024c091760c","https://github.com/alam00000/bentopdf/commit/58cd1a8893bfe06e4a59a72adc2e7db00a8b9266","https://github.com/alam00000/bentopdf/releases/tag/v2.8.7"],"provider_metadata":{"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-77581","role":"CISA Coordinator","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-09-24T15:37:09.697885Z"}}}],"references":[{"url":"https://github.com/alam00000/bentopdf/security/advisories/GHSA-5xjf-rr5x-pcfj","tags":["exploit"]}],"providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-09-24T15:37:29.237Z"}}],"cna":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-09-24T15:23:18.550Z"}}},"related_cves":[{"value":"CVE-2026-77581","evidence":"/cveMetadata/cveId"}],"security_relevant":true,"severity_evidence":"/containers/cna/metrics"},"group_id":"advisory:08aa1028-a3b8-4fd3-b78c-0124f3d41a21","priority":{"reasons":["publisher_severity"],"severity":"high","linked_cves":[],"fix_available":false,"known_exploited":false,"publisher_severity":"high"},"revision":1,"source_id":"core-cve","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-77581","advisory_id":"08aa1028-a3b8-4fd3-b78c-0124f3d41a21","event_types":["advisory"],"published_at":"2026-10-24T21:07:54.572821+00:00","technologies":["bentopdf","core-cve"],"context_update":false,"extraction_method":"structured","source_published_at":"2026-09-24T15:23:18.55+00:00","detail_url":"/events/1787"}]}}],"next_after":30010,"next_before":1799}