{"id":"CVE-2026-86596","aliases":["EUVD-2026-115642","GHSA-9wfw-qq7f-66hm"],"status":"published","title":"s2Member \u003c= 260927 - Unauthenticated Remote Code Execution via 'item_name' IPN Parameter","description":"The s2Member plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, \u003c= 260927 via the 'item_name' parameter parameter. This is due to insufficient sanitization in strip_php_tags_deep(), which only strips literal '\u003c?' sequences, combined with a post-interpolation placeholder cleanup that reassembles a valid '\u003c?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.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.01487,"percentile":0.74413,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":false},"cwes":["CWE-94"],"published":"2026-11-02T21:30:23Z","modified":"2026-11-03T00:31:29Z","exploits":[{"source":"pocgithub","id":"thiscitze/cve-2026-86596-poc","title":"thiscitze/cve-2026-86596-poc","date":"2026-11-02","url":"https://github.com/thiscitze/cve-2026-86596-poc"},{"source":"pocgithub","id":"Aureels/CVE-2026-86596","title":"Aureels/CVE-2026-86596","date":"2026-11-04","url":"https://github.com/Aureels/CVE-2026-86596"}],"products":[{"vendor":"clavaque","product":"s2member – excellent for all kinds of memberships, content restriction paywalls \u0026 member access subscriptions"}],"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/bbe64cd3-c5ca-4867-90de-4784510a1126?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/s2member/tags/260829/src/includes/classes/utilities.inc.php#L49"},{"url":"https://plugins.trac.wordpress.org/browser/s2member/tags/260829/src/includes/classes/paypal-notify-in-web-accept-sp.inc.php#L138"},{"url":"https://plugins.trac.wordpress.org/browser/s2member/tags/260829/src/includes/classes/paypal-notify-in-web-accept-sp.inc.php#L131"},{"url":"https://plugins.trac.wordpress.org/browser/s2member/tags/260829/src/includes/classes/paypal-notify-in-web-accept-sp.inc.php#L104"},{"url":"https://plugins.trac.wordpress.org/browser/s2member/tags/260829/src/includes/classes/utils-strings.inc.php#L201"},{"url":"https://plugins.trac.wordpress.org/browser/s2member/tags/260829/src/includes/classes/paypal-notify-in.inc.php#L49"},{"url":"https://plugins.trac.wordpress.org/browser/s2member/tags/260829/src/includes/classes/paypal-notify-in-subscr-or-wa-w-level.inc.php#L514"},{"url":"https://plugins.trac.wordpress.org/changeset/3722434/s2member"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-86596"},{"url":"https://github.com/advisories/GHSA-9wfw-qq7f-66hm"}],"sources":{"cve":[{"id":"CVE-2026-86596","title":"s2Member \u003c= 260927 - Unauthenticated Remote Code Execution via 'item_name' IPN Parameter","description":"The s2Member plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, \u003c= 260927 via the 'item_name' parameter parameter. This is due to insufficient sanitization in strip_php_tags_deep(), which only strips literal '\u003c?' sequences, combined with a post-interpolation placeholder cleanup that reassembles a valid '\u003c?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.","status":"published","published":"2026-11-02T21:30:23.199Z","modified":"2026-11-08T19:05:26.448Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"cna"}],"cwes":["CWE-94"],"updated_at":"2026-11-08T20:44:32.128624Z"}],"euvd":[{"id":"EUVD-2026-115642","description":"The s2Member plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, \u003c= 260927 via the 'item_name' parameter parameter. This is due to insufficient sanitization in strip_php_tags_deep(), which only strips literal '\u003c?' sequences, combined with a post-interpolation placeholder cleanup that reassembles a valid '\u003c?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.","status":"published","published":"2026-11-02T21:30:23Z","modified":"2026-11-08T19:05:26Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-08T20:13:56.600577Z"}],"ghsa":[{"id":"GHSA-9wfw-qq7f-66hm","title":"The s2Member plugin for WordPress is vulnerable to Remote Code Execution in all versions up to,...","description":"The s2Member plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, \u003c= 260927 via the 'item_name' parameter parameter. This is due to insufficient sanitization in strip_php_tags_deep(), which only strips literal '\u003c?' sequences, combined with a post-interpolation placeholder cleanup that reassembles a valid '\u003c?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.","status":"published","published":"2026-11-03T00:31:24Z","modified":"2026-11-03T00:31:29Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-94"],"updated_at":"2026-11-03T17:59:55.458475Z"}],"nvd":[{"id":"CVE-2026-86596","description":"The s2Member plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, \u003c= 260927 via the 'item_name' parameter parameter. This is due to insufficient sanitization in strip_php_tags_deep(), which only strips literal '\u003c?' sequences, combined with a post-interpolation placeholder cleanup that reassembles a valid '\u003c?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.","status":"published","published":"2026-11-02T22:17:23.49Z","modified":"2026-11-08T19:17:42.17Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"secondary"}],"cwes":["CWE-94"],"updated_at":"2026-11-08T22:11:12.688701Z"}]}}
