Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with custom-level account
-
DeliveryInject split PHP tag in item_name parameter
-
ExploitBypass strip_php_tags_deep() literal '<?' stripping
-
ExecutionPlaceholder cleanup reassembles '<?php' in email template
-
ImpactExecute arbitrary PHP on server
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access 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 with s2Member 'custom-level' capability or above (per the description), so this is not an unauthenticated flaw despite the CVSS PR:N. The concrete trigger is a crafted 'item_name' parameter whose split PHP tag survives strip_php_tags_deep() (which strips only literal '<?') and is then reassembled into a valid '<?php' opener by a post-interpolation placeholder-cleanup step as the value is embedded in the plugin's email template (PayPal notification handling code paths). Limiting factors: the required custom-level-or-above authentication, and reliance on the specific sanitization/placeholder-reassembly flow present in versions up to and including 260927; environments without such membership accounts raise the bar to exploitation. |
| Impact | This is a genuine high-priority issue, corroborated by the vuln.today 'act_now' decision label and a Wordfence-reported RCE (CWE-94) in a WordPress plugin. The supplied CVSS is 9.8 with vector AV:N/AC:L/PR:N/UI:N, implying remote unauthenticated exploitation. However, there is a clear CONFLICT: the description explicitly states exploitation requires 'authenticated attackers, with custom-level access and above,' which contradicts PR:N. Authentication therefore appears to be required despite the CVSS vector showing PR:N - treat the headline 9.8 as likely inflated; a PR:L assessment lands nearer 8.8. No EPSS score, no CISA KEV listing, and no confirmed working exploit code were provided, so active-exploitation signals are absent; the urgency rests on the vendor/priority-feed assessment and the low attack complexity rather than observed in-the-wild activity. Net: a real, actionable RCE that warrants prompt patching, but the practical barrier of needing a custom-level-or-above account reduces the mass-exploitation profile versus a truly unauthenticated 9.8. |
| Exploit ScenarioDerived | An attacker holding a custom-level (or higher) membership account submits a crafted 'item_name' value containing a split PHP tag; strip_php_tags_deep() removes only the literal '<?' sequence, and a later post-interpolation placeholder cleanup step reassembles a valid '<?php' opener after the attacker value is already embedded in the email template, yielding server-side PHP code execution. Low attack complexity (AC:L) and network reachability make the request trivial to deliver once authenticated. No confirmed public exploit code was provided, though Wordfence documents the flaw and the vulnerable code paths. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 02, 2026
Remote code execution in the s2Member WordPress plugin, affecting all versions up to and including 260927, allows an authenticated user holding the plugin's custom-level capability or above to inject and execute PHP on the hosting server through the 'item_name' parameter of the plugin's PayPal notification handling paths. The Wordfence-reported flaw (CWE-94) is rated 9.8 and carries a vuln.today 'act_now' decision label, though the prerequisites are real: the attacker must already hold a custom-level-or-above s2Member account, so the original CVSS vector's PR:N understates the bar and the independently assessed vector is PR:L. No CISA KEV entry or working public exploit was identified at time of analysis, but given the severity, the low attack complexity and the availability of the vulnerable code in the public plugin repository, verified exploitation should be assumed feasible.
RemediationAI
Upstream fix available (changeset/commit); released patched version not independently confirmed. The cve.org references point to WordPress.org plugin repository changeset 3722434 (https://plugins.trac.wordpress.org/changeset/3722434/s2member) as the code change addressing the sanitization/placeholder-reassembly flaw, so the primary action is to update s2Member to a release that contains that changeset and to verify the installed plugin version is above 260927 before treating the site as fixed; confirm the exact fixed version against the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/bbe64cd3-c5ca-4867-90de-4784510a1126?source=cve, since no tagged fix version is stated in the available data. Because exploitation requires an account with s2Member custom-level capability or above, the effective interim control is to audit and tightly restrict who holds custom-level or higher memberships and to remove those capabilities from untrusted or self-registered users until the update is applied - a control that reduces exposure but does not remove the vulnerable code path and will break legitimate member workflows for the restricted accounts. Sites that cannot update immediately should also review the PayPal notification/IPN email template handling for any locally customized templates that interpolate buyer-supplied fields such as item_name, and monitor for unexpected PHP content in template or log output. No CISA KEV entry exists, so no mandated federal remediation deadline applies, but the 'act_now' priority label and 9.8 severity argue for treating the update as urgent.
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
The root cause is PHP code injection (CWE-94) arising from two sanitization defects that compose into a bypass. The plugin's strip_php_tags_deep() helper, referenced in src/includes/classes/utilities.inc.php and src/includes/classes/utils-strings.inc.php, only removes literal '<?' sequences, so a deliberately fragmented tag survives it; a subsequent post-interpolation placeholder-cleanup step then operates on the string after the attacker-controlled 'item_name' value has already been substituted into the plugin's email template, reassembling the fragments into a valid '<?php' opener. The resulting template content is written/processed as PHP rather than as inert text, giving code execution in the web server's context. The referenced entry points for the tainted value sit in the PayPal notification handlers (paypal-notify-in.inc.php, paypal-notify-in-web-accept-sp.inc.php and paypal-notify-in-subscr-or-wa-w-level.inc.php), i.e. the IPN/notification flow where buyer-supplied fields such as item_name are merged into notification templates. The exact runtime conditions under which the reassembled template is evaluated are not fully described in the available sources; what is confirmed is that the sanitization and cleanup ordering is the defect, and that it is present in versions up to and including 260927.
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:N/UI:N/S:U/C:H/I:H/A:H
Description requires custom-level authenticated access so PR:L not PR:N; network-reachable with low complexity and no user interaction; full PHP code execution gives C:H/I:H/A:H.
Primary rating from Vendor (Wordfence).
CVSS VectorNVD
DescriptionNVD
The s2Member plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, <= 260927 via the 'item_name' parameter parameter. This is due to insufficient sanitization in strip_php_tags_deep(), which only strips literal '<?' sequences, combined with a post-interpolation placeholder cleanup that reassembles a valid '<?php' opener after the attacker-controlled value has already been embedded in the email template. This makes it possible for authenticated attackers, with custom-level access and above, to execute code on the server.
Articles & Coverage 2
Executive ViewAI
A critical remote code execution vulnerability in the s2Member WordPress plugin (all versions up to 260927) allows authenticated users with custom-level access or higher to execute arbitrary PHP code on the hosting server, potentially leading to full site compromise. This puts member data, payment information, and server integrity at risk, and leadership should prioritize immediate mitigation despite the authentication requirement.
No vendor-released patch identified at time of analysis. Interim mitigations include: disabling the s2Member plugin if feasible; restricting access to PayPal notification paths via IP allowlisting; deploying a WAF rule to inspect and block malicious 'item_name' parameters; enforcing strict least-privilege on s2Member custom capabilities; and continuously monitoring for signs of exploitation.
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
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 AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
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
EUVD-2026-115642
GHSA-9wfw-qq7f-66hm
NVD
CVE.org
EPSS
Exploit-DB