CVE-2026-5957 json
EmailKit <= 1.6.5 - Authenticated (Author+) Arbitrary File Read via 'emailkit-editor-template' REST Parameter
published 2026-05-05 6 mo ago modified 2026-06-17 4 mo ago also EUVD-2026-27197
- cvss
- 6.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 47%
- public exploits
- 0
- none known
Summary
The EmailKit plugin for WordPress is vulnerable to Arbitrary File Read in all versions up to and including 1.6.5. This is due to a flawed path traversal validation in the create_template() method of the CheckForm class, where realpath() is called on the allowed base directory (wp-content/uploads/emailkit/templates/) which may not exist, causing it to return false. In PHP 8.x, strpos($real_path, false) implicitly converts false to an empty string, and strpos() with an empty needle always returns 0, causing the check strpos(...) !== 0 to evaluate to false and bypassing the path validation entirely. This makes it possible for authenticated attackers, with Author-level access and above, to read arbitrary files from the server, including sensitive files such as wp-config.php, by supplying an absolute path to the emailkit-editor-template REST API parameter.
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 6 mo ago
Exploit prediction
0.57% chance of exploitation in the next 30 days, higher than 47% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
Affected products
- roxnor EmailKit – Email Customizer for WooCommerce & WP
Classification
- Weakness
-
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
- Technology feeds
References
- wordfence.com /threat-intel/vulnerabilities/id/ae58e5b0-b587-4503-8519-c5a50245891a?source=cve
- plugins.trac.wordpress.org /browser/emailkit/tags/1.6.5/includes/Admin/Api/CheckForm.php#L166
- plugins.trac.wordpress.org /browser/emailkit/tags/1.6.5/includes/Admin/Api/CheckForm.php#L170
- plugins.trac.wordpress.org /browser/emailkit/tags/1.6.5/includes/Admin/EmailSettings/MetformEmailSettings.php#L252
- plugins.trac.wordpress.org /browser/emailkit/trunk/includes/Admin/Api/CheckForm.php#L170
- plugins.trac.wordpress.org /browser/emailkit/trunk/includes/Admin/Api/CheckForm.php#L163
- plugins.trac.wordpress.org /browser/emailkit/tags/1.6.5/includes/Admin/Api/CheckForm.php#L163
- plugins.trac.wordpress.org /browser/emailkit/trunk/includes/Admin/Api/CheckForm.php#L166
- plugins.trac.wordpress.org /browser/emailkit/trunk/includes/Admin/EmailSettings/MetformEmailSettings.php#L252
- plugins.trac.wordpress.org /changeset?sfp_email=&sfph_mail=&reponame=&new=3511701%40emailkit%2Ftrunk&old=3496714%40emailkit%2Ftrunk&sfp_e
Sources
- CVE List CVE-2026-5957
- NVD CVE-2026-5957
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.