Description
The PDFDraft – Drag & Drop PDF Builder, PDF Viewer, Embed & Download PDF, Certificate & 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 => '__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 .
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
wpeverest PDFDraft – Drag & Drop PDF Builder, PDF Viewer, Embed & Download PDF, Certificate & Invoice Designer
Default version status: unaffected
0 to ≤ 1.1.0affected
References
- https://www.wordfence.com/threat-intel/vulnerabilities/id/3cb869dd-c8cf-4849-a13f-6c8cf1c196b6?source=cve ↗
- https://plugins.trac.wordpress.org/browser/pdfdraft/trunk/src/EmbedPdf.php#L448 ↗
- https://plugins.trac.wordpress.org/browser/pdfdraft/trunk/src/EmbedPdf.php#L418 ↗
- https://plugins.trac.wordpress.org/browser/pdfdraft/trunk/src/EmbedPdf.php#L60 ↗
- https://plugins.trac.wordpress.org/browser/pdfdraft/trunk/src/EmbedPdf.php#L44 ↗
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3621033%40pdfdraft&new=3621033%40pdfdraft ↗