s2Member <= 261011 — Authenticated (Contributor+) Stored Cross-Site Scripting via 'date_format' Shortcode Attribute
CVE-2026-109972Published · Updated Action summary
Affected: ≤261011Update to 261017 or newer
All remediation steps- Severity
- Medium6.4
- CVSS
- 6.4CVSS 3.1 · CNA (Wordfence)
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:NWhat does this vector mean?
AV:NAttack vector- Network
AC:LAttack complexity- Low
PR:LPrivileges required- Low
UI:NUser interaction- None
S:CScope- Changed
C:LConfidentiality- Low
I:LIntegrity- Low
A:NAvailability- None
- Weakness
- CWE-79 Cross-Site Scripting
- Required access
- Unknown
- Exploit prediction (EPSS)
- No score
- CISA KEV
- Not listed
On this page8
Am I affected?
- Affected≤ 261011
- Patched in261017
Update to 261017 or newer.
You are affected if you run ≤ 261011. Version 261017 and later are not affected by this issue.
- Check your version: in wp-admin go to Plugins → Installed Plugins and read the version under s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions.
- No admin access? Run a passive check of your site. It reads public files only.
What to do
- Update to version 261017, or a newer patched version
- Rotate administrator passwords and application secrets if the site ran a vulnerable version while publicly reachable.
- Watch s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions to get an email when the next vulnerability is published.
Advisory
Source description from Wordfence Intelligence, credited to Wordfence PRISM.
The s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'date_format' parameter in all versions up to, and including, <= 261011 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The payload bypasses wp_kses_post() on save because it contains no literal angle brackets — only backslash-escaped sequences that PHP's date() materializes into HTML tag characters at render time after WordPress's shortcode_parse_atts() applies stripcslashes() to the attribute value.
Exploits & references
Proof-of-concept & detection
No public proof-of-concept or detection template is known for this vulnerability.
Advisories & patches
- Advisorywordfence.com
Related CVEs
More in s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions
All 16| Severity | Vulnerability | CVE | Published |
|---|---|---|---|
| Critical9.8 | Unauthenticated Remote Code Execution via 'item_name' IPN Parameter ≤260927Update to 261001 | CVE-2026-86596 | |
| High8.8 | Unauthenticated Remote Code Execution via 'first_name' Parameter in PayPal Proxy Return ≤260814Update to 260829 | CVE-2026-19804 | |
| Medium6.4 | Authenticated (Contributor+) Stored Cross-Site Scripting ≤260804Update to 260805 | CVE-2026-15047 | |
| Critical9.8 | Unauthenticated Privilege Escalation via Account Takeover ≤260127Update to 260215 | CVE-2026-1994 | |
| Medium6.4 | Authenticated (Contributor+) Stored Cross-Site Scripting via Shortcode ≤251005Update to 260101 | CVE-2025-13732 |
- Critical9.8Unauthenticated Remote Code Execution via 'item_name' IPN Parameter
≤260927Update to 261001
- High8.8Unauthenticated Remote Code Execution via 'first_name' Parameter in PayPal Proxy Return
≤260814Update to 260829
- Medium6.4Authenticated (Contributor+) Stored Cross-Site Scripting
≤260804Update to 260805
- Critical9.8Unauthenticated Privilege Escalation via Account Takeover
≤260127Update to 260215
- Medium6.4Authenticated (Contributor+) Stored Cross-Site Scripting via Shortcode
≤251005Update to 260101
Same weakness (Cross-Site Scripting)
All Cross-Site Scripting| Severity | Vulnerability | CVE | Published |
|---|---|---|---|
| High7.2 | Unauthenticated Stored Cross-Site Scripting via Comment User-Agent Header | CVE-2026-120688 | |
| Critical9.8 | Unauthenticated Arbitrary File Upload via File Upload via Public Form Submission | CVE-2026-125055 | |
| Critical9.8 | Unauthenticated PHP Object Injection to Remote Code Execution via 'form' Parameter | CVE-2026-119077 | |
| Medium5.3 | Unauthenticated Sensitive Information Exposure in 'search' Parameter | CVE-2026-121518 |
- High7.2Unauthenticated Stored Cross-Site Scripting via Comment User-Agent Header
EZ SQL Reports Shortcode Widget and DB Backup
≤5.25.25Update to 5.26.45
- Critical9.8Unauthenticated Arbitrary File Upload via File Upload via Public Form Submission
Chatterbug Forms – Fast, Flexible WordPress Form Builder
≤1.0.2Update to 1.1
- Critical9.8Unauthenticated PHP Object Injection to Remote Code Execution via 'form' Parameter
ELEX WordPress HelpDesk & Customer Ticketing System
≤3.3.9Update to 3.4.0
- Medium5.3Unauthenticated Sensitive Information Exposure in 'search' Parameter
Customer Reviews for WooCommerce
≤5.127.0Update to 5.128.0
Timeline
CVE published
Severity medium, CVSS 6.4
Record last updated
Sources & licenses
Wordfence record- Vulnerability data
- Wordfence Intelligence. [object Object] Licensed under the CC BY-SA 4.0.
- CVE® identifiers
- [object Object]. Used under the CVE Program. CVE® is a registered trademark of The MITRE Corporation.
- CVSS / CWE
- National Vulnerability Database (NVD), shown unmodified. This product uses the NVD API but is not endorsed or certified by the NVD.
- VulnCrest content
- Summary, remediation guidance and page layout © VulnCrest. Not sourced from NVD.
