CVE-2026-8607: myCred WordPress Plugin Stored XSS in Shortcode Wrap Attribute
The myCred WordPress plugin, used for managing loyalty points, badges, and gamification features, contains a stored cross-site scripting (XSS) vulnerability in its shortcode functionality. An attacker with contributor-level or higher access to WordPress can craft malicious code within a shortcode attribute that will execute in the browsers of all users who visit the affected page. This is a persistent attack—the malicious script remains embedded in the site until removed—rather than a one-time exploitation attempt.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 6.4 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
- Weaknesses (CWE)
- CWE-79
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-17 / 2026-06-17
NVD description (verbatim)
The Points Management System For Gamification, Ranks, Badges, and Loyalty Rewards Program – myCred plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'wrap' Shortcode Attribute in all versions up to, and including, 3.1 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.
8 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability exists in the myCred plugin's handling of the 'wrap' shortcode attribute across all versions up to 3.1. The plugin fails to properly sanitize user input or escape output when processing this attribute, creating a Stored XSS condition (CWE-79). The attack vector is network-based with low complexity; exploitation requires valid WordPress user credentials at contributor level or above, but does not require user interaction beyond visiting a page containing the malicious shortcode. The vulnerability achieves a CVSS v3.1 score of 6.4 (Medium severity) with potential impact to confidentiality and integrity within the context of affected site users.
Business impact
Organizations running myCred for loyalty or gamification programs face reputational and operational risk. An insider threat or compromised contributor account could inject malicious scripts that steal session cookies, capture form input, deface content, or redirect users to phishing sites. For membership-based or e-commerce sites, this could compromise customer trust and payment data flow. The persistent nature of stored XSS means the attack continues until actively remediated, amplifying exposure window and incident response cost.
Affected systems
All versions of the myCred WordPress plugin through version 3.1 are affected. The vulnerability requires that the attacker possess at least contributor-level WordPress user access, limiting the immediate threat surface to internal team members, delegated partners, or compromised accounts. Self-hosted WordPress installations using myCred are most affected; managed WordPress hosts may provide additional controls.
Exploitability
Exploitation is straightforward once an attacker has valid credentials. The 'wrap' shortcode attribute accepts arbitrary input without validation, making injection trivial. No special tools, zero-day knowledge, or user-specific targeting is needed—any page using the affected shortcode can be weaponized. The lack of CISA KEV status does not indicate low real-world risk; it reflects that active exploitation in the wild has not yet been reported to CISA. Organizations should not rely on KEV status as the sole measure of urgency.
Remediation
Update the myCred plugin to a patched version released after June 17, 2026 (verify against the plugin's official release notes and security advisory for the specific patch version). Until patching is possible, restrict contributor-level access to only trusted team members, audit existing content for suspicious shortcodes, and monitor user activity logs for unexpected shortcode modifications. If you cannot patch immediately, consider disabling the myCred plugin until a fix is available.
Patch guidance
Check the official myCred plugin repository and security advisories on WordPress.org for the patched version addressing CVE-2026-8607. Apply the update through the WordPress admin dashboard once available. After patching, review all pages and posts using myCred shortcodes to ensure no malicious code was injected during the vulnerability window. If your site was compromised, perform a security audit of contributor accounts and reset any exposed sessions.
Detection guidance
Search your WordPress database and page content for myCred shortcodes, particularly those using the 'wrap' attribute with suspicious or obfuscated values. Monitor WordPress user audit logs for shortcode-related edits by contributor accounts, especially outside normal business hours or by unexpected users. Use Web Application Firewalls (WAF) to detect and block encoded XSS patterns in POST requests to page/post editing endpoints. Conduct regular code reviews of published content and stored shortcodes to identify injected script tags or event handlers.
Why prioritize this
While the CVSS score is Medium (6.4), this vulnerability merits prompt attention because: (1) it requires only moderate-privilege insider access, not external exploitation; (2) the impact is persistent and affects all site visitors, not just administrators; (3) loyalty and gamification platforms often handle sensitive customer data; (4) remediation is straightforward via a plugin update, making the cost-benefit ratio favorable. Organizations should prioritize patching over lower-severity vulnerabilities with no available fix.
Risk score, explained
The CVSS v3.1 score of 6.4 reflects the network attack vector and low complexity (positive factors for an attacker) balanced against the requirement for prior authentication and non-critical impact scope. The score does not account for business context: a loyalty platform storing PII or payment info would justify higher internal risk ratings despite the CVSS number. The vector 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N' indicates that impact crosses security domains (S:C) without availability impact, reflecting the nature of persistent XSS.
Frequently asked questions
Do I need CISA KEV status for this to be a real threat?
No. KEV status indicates that active exploitation in the wild has been reported to CISA; its absence does not mean a vulnerability is low-risk. Many serious insider-threat or supply-chain vulnerabilities lack KEV status because they require trusted access or are exploited in targeted campaigns rather than mass exploitation. Assess risk based on your threat model, not KEV status alone.
Our team uses myCred but we trust our contributors. Do we still need to patch?
Yes. Trusted team members can be compromised, accidentally make mistakes, or be socially engineered. Additionally, overly permissive contributor roles accumulate unnecessary privilege; defense-in-depth requires patching known vulnerabilities regardless of trust assumptions. Patching is also a compliance best practice for audits and incident response.
Can this vulnerability be exploited without WordPress access?
No. The vulnerability requires that an attacker possess valid WordPress user credentials at contributor level or above. External attackers cannot directly exploit it without first compromising a user account or gaining physical access to site administration. However, privilege escalation or account takeover vulnerabilities elsewhere could grant the required access.
How long will myCred take to release a patch?
Check the official myCred repository and security advisories for the patch release date and version. The vulnerability was published June 17, 2026; vendors typically release patches within days to weeks. Subscribe to myCred's security notifications to avoid delays.
This analysis is based on the CVE record published June 17, 2026, and the vendor advisory referenced therein. Security conditions evolve; always verify patch availability and version numbers against official vendor sources before deployment. This document does not constitute legal advice or a guarantee of security. Consult your compliance team and security vendor for risk assessment tailored to your environment. SEC.co and its authors disclaim liability for decisions made based on this analysis. Source: NVD (public-domain), retrieved 2026-07-27. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2016-20070MEDIUMPrivilege Escalation & Stored XSS in WordPress Booking Calendar Contact Form 1.0.23
- CVE-2018-25384MEDIUMStored XSS in Wikidforum 2.20 Allows Authenticated Attackers to Inject Malicious Scripts
- CVE-2019-25731MEDIUMStored XSS in Zuz Music 2.1 Contact Form
- CVE-2019-25737MEDIUMStored XSS in Live Chat Unlimited 2.8.3 – Admin Session Compromise
- CVE-2019-25739MEDIUMGigToDo 1.3 Stored XSS Vulnerability in Proposal Descriptions
- CVE-2019-25742MEDIUMStored XSS in Zoner Real Estate WordPress Theme 4.1.1 – Admin Account Compromise Risk
- CVE-2019-25743MEDIUMWordPress Soliloquy Lite 2.5.6 Stored XSS Vulnerability
- CVE-2019-25744MEDIUMWordPress Popup Builder 3.49 Stored XSS Vulnerability – Exploit Prevention & Patch Guide