CVE-2026-12476 json
Easy Digital Downloads <= 3.6.9 - Authenticated (Shop Manager+) Arbitrary File Upload via 'edd-import-file' Parameter
published 2026-07-29 3 mo ago modified 2026-07-30 3 mo ago also EUVD-2026-50108
- cvss
- 7.2
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.2%
- EPSS 1.2% chance of exploitation in 30 days, percentile 67%
- public exploits
- 0
- none known
Summary
The Easy Digital Downloads plugin for WordPress is vulnerable to Arbitrary File Upload in versions up to and including 3.6.9. This is due to insufficient file type validation in the edd_do_ajax_import_file_upload() function , which only checks the client-supplied $_FILES['edd-import-file']['type'] Content-Type header against an allow-list of CSV mime types, then uses raw move_uploaded_file() (bypassing wp_handle_upload()'s core MIME enforcement) to write the file under its original extension into the web-accessible wp-content/uploads/edd/exports/ directory. This makes it possible for authenticated attackers, with Shop Manager-level access and above, to upload arbitrary files on the affected site's server which may make remote code execution possible.
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 3 mo ago
Exploit prediction
1.18% chance of exploitation in the next 30 days, higher than 67% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.2 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H |
Affected products
- smub Easy Digital Downloads – eCommerce Payments and Subscriptions made easy
Classification
- Weakness
-
- CWE-434 Unrestricted Upload of File with Dangerous Type
- Technology feeds
References
- wordfence.com /threat-intel/vulnerabilities/id/5b0c8edd-b392-4d23-bde3-0521eeedc5a0?source=cve
- plugins.trac.wordpress.org /browser/easy-digital-downloads/tags/3.6.8/includes/admin/import/import-functions.php#L92
- plugins.trac.wordpress.org /browser/easy-digital-downloads/tags/3.6.8/includes/admin/import/import-functions.php#L68
- plugins.trac.wordpress.org /browser/easy-digital-downloads/tags/3.6.8/includes/admin/import/import-functions.php#L87
- plugins.trac.wordpress.org /browser/easy-digital-downloads/tags/3.6.7/includes/admin/import/import-functions.php#L92
- plugins.trac.wordpress.org /browser/easy-digital-downloads/tags/3.6.7/includes/admin/import/import-functions.php#L68
- plugins.trac.wordpress.org /browser/easy-digital-downloads/tags/3.6.7/includes/admin/import/import-functions.php#L87
- plugins.trac.wordpress.org /changeset/3625073/easy-digital-downloads/trunk/includes/admin/import/import-functions.php?old=3577787&old_pat
Sources
- CVE List CVE-2026-12476
- NVD CVE-2026-12476
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.