Skip to main content

EmailKit WordPress Plugin CVE-2026-5957

| EUVDEUVD-2026-27197 MEDIUM
Path Traversal (CWE-22)
2026-05-05 Wordfence GHSA-28j2-6q62-7r48
6.5
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain Author-level WordPress credentials
  2. Delivery
    Authenticate to WordPress admin or REST API
  3. Exploit
    Craft POST request with absolute file path
  4. Install
    Submit to emailkit-editor-template REST endpoint
  5. C2
    Validation bypass triggered by PHP 8.x type coercion
  6. Execute
    Return arbitrary file contents
  7. Impact
    Exfiltrate sensitive data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the attacker to possess authenticated access at Author level or above within WordPress. The vulnerability is specific to PHP 8.x environments; sites running PHP 7.x or earlier are NOT vulnerable because the type coercion behavior (false converted to empty string in strpos()) does not occur in those versions. The base directory wp-content/uploads/emailkit/templates/ must not exist on the server (a reasonable assumption for many installations where this directory has not been created), triggering the realpath() false return that initiates the validation bypass. No special plugin configuration is required; the vulnerability is present in default installations. The attacker must be able to make HTTP requests to the WordPress REST API endpoint /wp-json/emailkit/v1/create-template, which is publicly accessible but requires valid authentication credentials. No user interaction is required beyond the initial API request.

Impact

The vulnerability presents a moderate-to-high real-world risk despite the authentication requirement. CVSS 6.5 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) correctly reflects that the attack requires network access, low complexity exploitation, and low privileges (Author level), with high confidentiality impact but no integrity or availability impact. EPSS data is not provided in the input, preventing probabilistic exploitation assessment. The authentication requirement (PR:L) substantially limits the attack surface compared to unauthenticated vulnerabilities, as exploitation requires a compromised or legitimate Author account. However, the Author role is commonly held by contributors in multi-user WordPress installations, and account compromise (via password reuse, phishing, or other means) is a frequent attack vector. The path traversal mechanism is straightforward to exploit once authenticated, requiring only modification of a REST API parameter to an absolute path like /etc/passwd or /var/www/html/wp-config.php. The vulnerability affects all versions up to 1.6.5 with no evidence of older patched releases, indicating a long exposure window. The PHP 8.x-specific type coercion behavior means the vulnerability only manifests on PHP 8.0 and later, partially limiting impact to sites using older PHP versions, though WordPress hosting increasingly defaults to PHP 8.x. Risk is elevated because wp-config.php disclosure exposes database credentials and security keys, enabling full site compromise even without code execution. Remediation requires a plugin update, and no workarounds are documented.

Exploit ScenarioDerived

An attacker with a compromised Author-level WordPress account (e.g., obtained via credential theft or social engineering) authenticates to the WordPress backend and submits a crafted POST request to the /wp-json/emailkit/v1/create-template REST endpoint with the emailkit-editor-template parameter set to an absolute path such as /var/www/html/wp-config.php. The create_template() method's flawed path validation (realpath() on a non-existent directory) permits the traversal, and the endpoint returns the contents of wp-config.php, which includes the database password and security keys. The attacker uses these credentials to access the WordPress database directly or authenticate as an administrator, escalating to full site compromise without requiring code execution.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – May 05, 2026

EmailKit plugin for WordPress versions up to 1.6.5 allows authenticated attackers with Author-level access to read arbitrary files from the server due to a path traversal vulnerability in the create_template() method. The vulnerability exploits a PHP 8.x type coercion flaw where realpath() returns false for non-existent directories, causing strpos() validation to incorrectly evaluate and bypass directory restrictions. Attackers can retrieve sensitive files such as wp-config.php by submitting absolute paths via the emailkit-editor-template REST API parameter. No public exploit code identified at time of analysis, though the vulnerability mechanism is trivial to weaponize once authentication is obtained.

RemediationAI

Update the EmailKit plugin to a version released after 1.6.5 immediately; the exact fixed version number is not confirmed in the available data, but vendor updates addressing this path traversal flaw should be available via the WordPress Plugin Directory or the plugin's update mechanism. The core fix requires modification of the create_template() method in the CheckForm class to properly validate that the base templates directory exists before calling realpath(), and to ensure that any user-supplied path is normalized and verified to reside within the intended directory using robust comparison logic (e.g., comparing canonical paths with array checks rather than strpos()). Until a patched version is deployed, restrict Author-level and Editor-level access to only trusted users, and consider temporarily deactivating the EmailKit plugin if not actively in use. Web application firewalls or reverse proxies can be configured to block requests to the emailkit-editor-template REST endpoint that contain absolute paths or traversal sequences (../, encoded variations), though this is a temporary control and does not address the underlying vulnerability. Database backups should be taken before deploying the update to mitigate potential data loss during patching. Verify that wp-config.php and other sensitive files have not been accessed by reviewing web server access logs and database query logs for unusual activity following the update.

Affected VersionsENISA

EmailKit – Email Customizer for WooCommerce & WP 0 ≤1.6.5

Affected Packages

euvd emailkit_email_customizer_for_woocommerce_wp no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability resides in the CheckForm class's create_template() method, which validates file paths before allowing template operations. The flawed logic calls realpath() on the base directory wp-content/uploads/emailkit/templates/ without checking if this directory exists. In PHP 8.x, when realpath() returns false (indicating the path does not exist), the subsequent strpos($real_path, false) operation triggers an implicit type coercion converting false to an empty string. The function strpos() with an empty string as the needle parameter always returns 0 (the position of the empty substring at the start). The validation logic strpos($real_path, 0) !== 0 then evaluates to false, bypassing the intended directory containment check. This is a classic path traversal vulnerability (CWE-22) combined with a PHP version-specific type juggling flaw. The REST API endpoint emailkit-editor-template processes user-supplied paths without proper normalization after the failed validation, allowing traversal sequences (e.g., absolute paths or ../ sequences) to access files outside the intended templates directory.

Know when PHP gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.1%
Top 80% exploitable
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy