{"id":"CVE-2026-12124","aliases":["EUVD-2026-49689","GHSA-vqr6-98r6-wqvg"],"status":"published","title":"PDFDraft \u003c= 1.1.0 - Missing Authorization to Unauthenticated Sensitive PDF Disclosure via 'slug' Parameter","description":"The PDFDraft – Drag \u0026 Drop PDF Builder, PDF Viewer, Embed \u0026 Download PDF, Certificate \u0026 Invoice Designer plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the serveTemplatePdfAjax() function and the serveTemplatePdf() REST route (which is registered with `permission_callback =\u003e '__return_true'`) in versions up to, and including, 1.1.0. This makes it possible for unauthenticated attackers to download stored template PDFs — which may contain customer PII, invoice, order, and certificate data — by requesting the publicly registered admin-ajax action `pdfdraft_embed_pdf` or the REST endpoint `/wp-json/pdfdraft/v1/embed-pdf/templates/{slug}/pdf` with a known or guessable design slug, bypassing the plugin's own .","severity":{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.0035,"percentile":0.28826,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-862"],"published":"2026-07-28T05:39:41Z","modified":"2026-07-28T16:07:15Z","products":[{"vendor":"wpeverest","product":"pdfdraft – drag \u0026 drop pdf builder, pdf viewer, embed \u0026 download pdf, certificate \u0026 invoice designer"}],"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/3cb869dd-c8cf-4849-a13f-6c8cf1c196b6?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/pdfdraft/trunk/src/EmbedPdf.php#L448"},{"url":"https://plugins.trac.wordpress.org/browser/pdfdraft/trunk/src/EmbedPdf.php#L418"},{"url":"https://plugins.trac.wordpress.org/browser/pdfdraft/trunk/src/EmbedPdf.php#L60"},{"url":"https://plugins.trac.wordpress.org/browser/pdfdraft/trunk/src/EmbedPdf.php#L44"},{"url":"https://plugins.trac.wordpress.org/changeset?reponame=\u0026old=3621033%40pdfdraft\u0026new=3621033%40pdfdraft"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-12124"},{"url":"https://github.com/advisories/GHSA-vqr6-98r6-wqvg"}],"sources":{"cve":[{"id":"CVE-2026-12124","title":"PDFDraft \u003c= 1.1.0 - Missing Authorization to Unauthenticated Sensitive PDF Disclosure via 'slug' Parameter","description":"The PDFDraft – Drag \u0026 Drop PDF Builder, PDF Viewer, Embed \u0026 Download PDF, Certificate \u0026 Invoice Designer plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the serveTemplatePdfAjax() function and the serveTemplatePdf() REST route (which is registered with `permission_callback =\u003e '__return_true'`) in versions up to, and including, 1.1.0. This makes it possible for unauthenticated attackers to download stored template PDFs — which may contain customer PII, invoice, order, and certificate data — by requesting the publicly registered admin-ajax action `pdfdraft_embed_pdf` or the REST endpoint `/wp-json/pdfdraft/v1/embed-pdf/templates/{slug}/pdf` with a known or guessable design slug, bypassing the plugin's own .","status":"published","published":"2026-07-28T05:39:41.443Z","modified":"2026-07-28T13:29:30.785Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:19:48.461833Z"}],"euvd":[{"id":"EUVD-2026-49689","description":"The PDFDraft – Drag \u0026 Drop PDF Builder, PDF Viewer, Embed \u0026 Download PDF, Certificate \u0026 Invoice Designer plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the serveTemplatePdfAjax() function and the serveTemplatePdf() REST route (which is registered with `permission_callback =\u003e '__return_true'`) in versions up to, and including, 1.1.0. This makes it possible for unauthenticated attackers to download stored template PDFs — which may contain customer PII, invoice, order, and certificate data — by requesting the publicly registered admin-ajax action `pdfdraft_embed_pdf` or the REST endpoint `/wp-json/pdfdraft/v1/embed-pdf/templates/{slug}/pdf` with a known or guessable design slug, bypassing the plugin's own .","status":"published","published":"2026-07-28T05:39:41Z","modified":"2026-07-28T13:29:30Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T18:02:31.827348Z"}],"ghsa":[{"id":"GHSA-vqr6-98r6-wqvg","title":"The PDFDraft – Drag \u0026 Drop PDF Builder, PDF Viewer, Embed \u0026 Download PDF, Certificate \u0026 Invoice...","description":"The PDFDraft – Drag \u0026 Drop PDF Builder, PDF Viewer, Embed \u0026 Download PDF, Certificate \u0026 Invoice Designer plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the serveTemplatePdfAjax() function and the serveTemplatePdf() REST route (which is registered with `permission_callback =\u003e '__return_true'`) in versions up to, and including, 1.1.0. This makes it possible for unauthenticated attackers to download stored template PDFs — which may contain customer PII, invoice, order, and certificate data — by requesting the publicly registered admin-ajax action `pdfdraft_embed_pdf` or the REST endpoint `/wp-json/pdfdraft/v1/embed-pdf/templates/{slug}/pdf` with a known or guessable design slug, bypassing the plugin's own .","status":"published","published":"2026-07-28T09:31:28Z","modified":"2026-07-28T09:31:35Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T15:09:51.995252Z"}],"nvd":[{"id":"CVE-2026-12124","description":"The PDFDraft – Drag \u0026 Drop PDF Builder, PDF Viewer, Embed \u0026 Download PDF, Certificate \u0026 Invoice Designer plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the serveTemplatePdfAjax() function and the serveTemplatePdf() REST route (which is registered with `permission_callback =\u003e '__return_true'`) in versions up to, and including, 1.1.0. This makes it possible for unauthenticated attackers to download stored template PDFs — which may contain customer PII, invoice, order, and certificate data — by requesting the publicly registered admin-ajax action `pdfdraft_embed_pdf` or the REST endpoint `/wp-json/pdfdraft/v1/embed-pdf/templates/{slug}/pdf` with a known or guessable design slug, bypassing the plugin's own .","status":"published","published":"2026-07-28T07:16:40.787Z","modified":"2026-07-28T16:07:15.84Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:12:33.249634Z"}]}}
