Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain subscriber account on target
-
DeliveryCall vulnerable putFile upload endpoint
-
ExploitUpload PHP file bypassing weak validation
-
ExecutionRequest uploaded script on nginx/AllowOverride-None Apache
-
ImpactExecute arbitrary code on server
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File type validation, storage isolation
MITRE ATT&CK
2 techniques across 2 tactics: Command and Control, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated account at subscriber level or above (PR:L), which is commonly available where open user registration is enabled on WordPress. Full remote code execution is achievable only on nginx, or on Apache configured with AllowOverride None, because these ignore the '.htaccess Require all denied' guard written by writeGuards(); on Apache honoring .htaccess, that guard blocks execution of the uploaded file and limits impact to file write without reliable RCE. The vulnerability exists in all YaySMTP versions up to and including 2.7.7 due to putFile relying on sanitize_file_name(), which does not strip executable extensions and applies no allow-list, MIME check, or safe-extension rename. The primary limiting factors are the required authentication level and the server's handling of .htaccess directives. |
| Impact | This is a genuine high-priority issue on the affected product, though its real-world severity is strongly conditioned by server configuration. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N) describes a network-reachable, low-complexity attack requiring only low privileges, with full C/I/A impact consistent with the CWE-434 arbitrary file upload leading to RCE. The low privilege requirement is significant: WordPress sites commonly allow open subscriber registration, so PR:L is often trivially satisfied, effectively turning this into a near-unauthenticated RCE on many deployments. The description is internally consistent with the vector and credibly explains the I:H/A:H/C:H rating via code execution. However, note conflicting/limiting signals: the vendor advisory itself states the only server-side guard (a '.htaccess Require all denied' from writeGuards()) is bypassed only on nginx or Apache with AllowOverride None - on Apache honoring .htaccess, upload may succeed but code execution is blocked, reducing impact to file write without guaranteed RCE. No EPSS score, KEV listing, or public POC was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation; the real-time exploitation probability signal is therefore absent. Treat as a priority to patch due to low attack complexity and widely-satisfiable privilege requirement, while recognizing exploitability-to-RCE depends on web server configuration. |
| Exploit ScenarioDerived | An attacker registers or obtains a subscriber-level account on a WordPress site running YaySMTP ≤ 2.7.7, then abuses the putFile function to upload a PHP file because sanitize_file_name() does not strip executable extensions and no allow-list/MIME/safe-rename is applied. On nginx or Apache with AllowOverride None, the uploaded script is directly requestable and executes, yielding remote code execution. No public proof-of-concept was provided in the input, so no public exploit is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Remote code execution via arbitrary file upload affects the YaySMTP WordPress plugin in all versions up to and including 2.7.7, where an authenticated subscriber-level user can upload executable files through the putFile function. The plugin relies on sanitize_file_name() without an allow-list, MIME check, or safe-extension rename, and its only server-side guard is a .htaccess file with 'Require all denied' that nginx and Apache with AllowOverride None ignore, so full RCE is achievable on those configurations. No public exploit code was identified at time of analysis and there is no confirmed CISA KEV active exploitation; exploitation requires authentication at subscriber level or above, which is commonly available when open user registration is enabled.
RemediationAI
Upstream fix available (PR/commit/changeset 3739875); released patched version not independently confirmed. Administrators should update the YaySMTP plugin beyond 2.7.7 as soon as a tagged patched release is available and verify the installed version. If immediate update is not possible, prevent execution of uploaded files in the WordPress uploads directory by configuring nginx with a location block that denies PHP execution in wp-content/uploads, or by setting Apache AllowOverride to a value that honors .htaccess (such as AllowOverride All) so the plugin's 'Require all denied' guard takes effect; note that AllowOverride All can increase configuration risk if other .htaccess files exist. Also disable open user registration or restrict subscriber-level account creation to trusted users, since the exploit requires only subscriber-level authentication, and consider a web application firewall rule blocking uploads of .php or other executable extensions to the vulnerable endpoint. Refer to the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/4abbf148-4648-440c-8a82-cf68bf051fbe?source=cve and the trunk changeset at https://plugins.trac.wordpress.org/changeset/3739875/yaysmtp/trunk/includes/Helper/EmailLogAttachments.php for details.
Affected VersionsENISA
Affected Packages
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
CWE-434 (Unrestricted Upload of File with Dangerous Type) is the root cause class: the putFile function in includes/Helper/EmailLogAttachments.php (lines 106, 178, 542, 549 in tag 2.7.7) saves uploaded email-log attachments using sanitize_file_name(), which in WordPress strips certain characters but does not remove executable extensions such as .php and does not enforce an allow-list, MIME validation, or safe-extension renaming. The plugin's writeGuards() in includes/PluginCore.php (line 37) writes a .htaccess file with 'Require all denied' intended to block execution, but nginx ignores .htaccess entirely and Apache with AllowOverride None does not process it, so uploaded PHP executes on those server configurations. The CPE marks the affected product as YayCommerce's YaySMTP - WP Mail SMTP with Email Logs, Tracking & Reports plugin for WordPress, and the code references the 2.7.7 tag; the trunk changeset 3739875 appears to be the upstream fix.
Know when Wordpress Plugin 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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-reachable upload endpoint (AV:N) with no special timing (AC:L) reachable by any subscriber (PR:L), no user interaction, yielding RCE and thus full C/I/A loss on the host.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The YaySMTP - WP Mail SMTP with Email Logs, Tracking & Reports plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 2.7.7 via the putFile function. This is due to insufficient file type validation in the putFile function, as sanitize_file_name() does not strip executable extensions and no allow-list, MIME check, or safe-extension rename is applied. This makes it possible for authenticated attackers, with subscriber-level access and above, to upload files that may be executable, which makes remote code execution possible. The only server-side guard is a .htaccess file containing 'Require all denied' written by writeGuards(), which is silently ignored by nginx and by Apache configured with AllowOverride None, meaning RCE is fully achievable on those server configurations.
Executive ViewAI
A remote code execution flaw in the YaySMTP WordPress plugin (all versions through 2.7.7) allows a low-privileged subscriber account to upload and execute arbitrary files on affected web servers, and no vendor patch is currently available. Any internet-facing WordPress site running this plugin with open user registration is directly exposed, since an attacker can self-register, upload a web shell, and obtain full control of the host, its data, and any connected email or customer systems. Leadership should treat this as an active exposure requiring immediate containment across the WordPress estate rather than a routine patch cycle item.
No vendor-released patch identified at time of analysis. Interim mitigations: remove or deactivate the YaySMTP plugin; disable open user registration to eliminate the subscriber-level access prerequisite; restrict or block access to plugin upload endpoints via WAF/reverse proxy; add server-level rules (nginx and Apache without AllowOverride) that deny execution of scripts in wp-content/uploads and YaySMTP upload directories; monitor upload directories for unexpected executable files and audit for unauthorized users or scheduled tasks.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Malicious file upload attacks exploit insufficient validation when web applications accept user-provided files.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u
EUVD-2026-102789
GHSA-2875-475c-qvhr
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB