{"id":"CVE-2026-114491","kind":"vulnerability","aliases":["CVE-2026-114491"],"related":[],"title":"pdfmake: SVG image references bypass local file access policy","description":"pdfmake 0.3.8 before 0.3.12 fails to apply the setLocalAccessPolicy() restriction to images referenced inside SVG content, allowing attackers to read blocked local files. Attackers supplying a document definition can add an SVG image href pointing to a local path, embedding restricted file contents in the generated PDF.","summary":"pdfmake 0.3.8 before 0.3.12 does not apply the setLocalAccessPolicy() restriction to images referenced inside SVG content. An attacker who supplies a document definition can point an SVG image href at a blocked local path and get that file's contents embedded in the generated PDF.","severity":"medium","cvss":6.9,"epss":0.00255,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["node","package","pdfmake","server-side-rendering"],"not_affected_if":["no-svg-images","pdfmake-0.3.12-or-later","trusted-input-only"],"how_to_check":"- Check the installed pdfmake version with `npm ls pdfmake` in the project that renders PDFs.\n- Search for `setLocalAccessPolicy` in the code to see whether a local access policy is configured at all.\n- Check whether document definitions can come from untrusted users, for example `grep -rn \"svg\" src/` near pdfmake calls.","fix":"- Upgrade pdfmake to `0.3.12` or later.\n- Until upgraded, do not render untrusted document definitions that contain SVG images.","status":"open","published_at":"2026-10-21T18:17:27+00:00","first_seen_at":"2026-10-23T21:57:29+00:00","triaged_at":"2026-10-25T03:38:59+00:00","updated_at":"2026-10-25T03:38:59+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T03:38:59Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade pdfmake to `0.3.12` or later.\n- Until upgraded, do not render untrusted document definitions that contain SVG images.","reach":"internet","title":"pdfmake: SVG image references bypass local file access policy","impact":"medium","summary":"pdfmake 0.3.8 before 0.3.12 does not apply the setLocalAccessPolicy() restriction to images referenced inside SVG content. An attacker who supplies a document definition can point an SVG image href at a blocked local path and get that file's contents embedded in the generated PDF.","category":"package","nicknames":[],"who_cares":["pdfmake","node","server-side-rendering"],"confidence":0.7,"needs_auth":"unknown","worst_case":"Server-local files blocked by the access policy can be read into a PDF.","analyst_note":"","how_to_check":"- Check the installed pdfmake version with `npm ls pdfmake` in the project that renders PDFs.\n- Search for `setLocalAccessPolicy` in the code to see whether a local access policy is configured at all.\n- Check whether document definitions can come from untrusted users, for example `grep -rn \"svg\" src/` near pdfmake calls.","needs_analyst":false,"not_affected_if":["trusted-input-only","no-svg-images","pdfmake-0.3.12-or-later"],"who_is_affected":"Applications that run pdfmake versions from 0.3.8 up to but not including 0.3.12 and that accept document definitions from users or other untrusted sources. The risk depends on the server holding sensitive local files that the access policy was meant to block. Teams that only generate PDFs from trusted, fixed templates, or that do not use SVG images, are much less exposed.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000653,"input_tokens":3383,"output_tokens":630,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-114491':12A,15A '-2026':11A,14A '0.3.12':26B,71C '0.3.8':24B,69C 'access':8A 'add':97C 'allow':84C 'appli':29B,74C 'attack':40B,85C,91C 'block':54B,88C 'bypass':5A 'content':38B,62B,83C,110C 'cve':10A,13A 'definit':45B,95C 'document':44B,94C 'embed':63B,107C 'fail':72C 'file':7A,60B,90C,109C 'generat':66B,113C 'get':58B 'href':51B,101C 'imag':3A,34B,50B,79C,100C 'insid':36B,81C 'local':6A,55B,89C,105C 'node':16B 'packag':17B 'path':56B,106C 'pdf':67B,114C 'pdfmake':1A,18B,23B,68C 'point':47B,102C 'polici':9A 'read':87C 'refer':4A 'referenc':35B,80C 'render':22B 'restrict':32B,77C,108C 'server':20B 'server-side-rend':19B 'setlocalaccesspolici':31B,76C 'side':21B 'suppli':42B,92C 'svg':2A,37B,49B,82C,99C","nicknames":[],"mitigations":[],"who_affected":"Applications that run pdfmake versions from 0.3.8 up to but not including 0.3.12 and that accept document definitions from users or other untrusted sources. The risk depends on the server holding sensitive local files that the access policy was meant to block. Teams that only generate PDFs from trusted, fixed templates, or that do not use SVG images, are much less exposed.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-21T18:17:27+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-114491","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-114491","severity":null,"published_at":"2026-10-21T18:17:27+00:00","modified_at":"2026-10-22T17:39:56+00:00","first_seen_at":"2026-10-23T21:57:29+00:00","fetched_at":"2026-10-23T22:29:01+00:00","note":null},{"source":"epss","external_id":"CVE-2026-114491","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-114491","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T13:15:54+00:00","fetched_at":"2026-10-24T13:15:54+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}