CVE-2026-2955 Overview
CVE-2026-2955 is a Stored Cross-Site Scripting (XSS) vulnerability in the AI Chatbot & Workflow Automation by AIWU plugin for WordPress. The flaw affects all versions up to and including 1.4.14. The plugin fails to sanitize the X-Forwarded-For HTTP header before storing and rendering its value. Unauthenticated attackers can inject arbitrary web scripts that execute when users access an injected page. Practical exploitation is constrained by a 20-character storage limit on the stored value. The vulnerability is categorized under [CWE-79] (Improper Neutralization of Input During Web Page Generation).
Critical Impact
Unauthenticated attackers can inject persistent JavaScript payloads through the X-Forwarded-For header, executing scripts in the browsers of subsequent visitors. The 20-character storage limit restricts payload complexity but does not eliminate risk.
Affected Products
- AI Chatbot & Workflow Automation by AIWU plugin for WordPress
- Versions up to and including 1.4.14
- Plugin slug: ai-copilot-content-generator
Discovery Timeline
- 2026-05-20 - CVE-2026-2955 published to NVD
- 2026-05-20 - Last updated in NVD database
Technical Details for CVE-2026-2955
Vulnerability Analysis
The vulnerability resides in how the AIWU plugin processes the X-Forwarded-For HTTP header. The plugin reads the header value, stores it in persistent backend storage, and later renders it in web pages without applying input sanitization or output escaping. This pattern matches the standard Stored XSS class defined by [CWE-79].
Because the X-Forwarded-For header is attacker-controlled and the request requires no authentication, anyone reaching the WordPress site can submit a crafted header value. The stored payload then executes in the browser context of any user who later loads a page that renders the value. Exploitation is constrained by a 20-character storage limit, which restricts payloads to short tags or fragments rather than full inline scripts.
Root Cause
The root cause is insufficient input sanitization combined with missing output escaping. The plugin treats the HTTP header as trusted input and writes it directly into HTML output. WordPress provides helper functions such as sanitize_text_field() for input and esc_html() or esc_attr() for output, but the affected code paths do not apply them to the header value.
Attack Vector
An unauthenticated remote attacker sends an HTTP request to the WordPress site with a malicious X-Forwarded-For header value. The plugin persists the value. When a subsequent visitor or administrator loads a page that includes the stored value in its rendered output, the injected script executes in their browser. The 20-character cap forces attackers to use compact payloads, external script loading via short hosts, or HTML attribute injection rather than long inline scripts. Refer to the Wordfence Vulnerability Report for additional analysis.
Detection Methods for CVE-2026-2955
Indicators of Compromise
- HTTP requests containing HTML tags, angle brackets, or JavaScript keywords inside the X-Forwarded-For header.
- Unexpected <script>, <svg>, or event handler fragments stored in plugin database tables tied to the ai-copilot-content-generator slug.
- Browser console errors or Content Security Policy violations reported when administrators visit plugin-rendered pages.
Detection Strategies
- Inspect web server and WAF logs for non-IP-format values in the X-Forwarded-For header, especially those containing <, >, ", or javascript:.
- Query the WordPress database for rows added by the AIWU plugin and search stored values for HTML or script syntax.
- Run automated DOM scans against plugin pages to identify unsanitized header reflection.
Monitoring Recommendations
- Alert on inbound HTTP headers that exceed expected IP-address formats for X-Forwarded-For.
- Monitor plugin file changes and database write patterns from unauthenticated sessions.
- Track outbound requests from administrator browsers to unfamiliar domains after visiting WordPress admin pages.
How to Mitigate CVE-2026-2955
Immediate Actions Required
- Update the AI Chatbot & Workflow Automation by AIWU plugin to a version newer than 1.4.14 once available.
- Audit plugin-managed database tables for previously stored malicious header values and remove any injected payloads.
- Force password resets for administrator accounts that may have visited compromised pages.
Patch Information
The fix is tracked in the WordPress plugin repository under WordPress Plugin Update changeset 3505998. Administrators should upgrade to the patched release and confirm the plugin version in the WordPress admin dashboard after deployment.
Workarounds
- Configure the upstream reverse proxy or WAF to strip or normalize the X-Forwarded-For header to valid IP-address syntax before requests reach WordPress.
- Deploy a WAF rule that blocks HTTP requests containing HTML metacharacters in X-Forwarded-For.
- Disable the AIWU plugin until the patched version is installed if the reverse proxy cannot enforce header normalization.
# Example nginx rule to reject non-IP X-Forwarded-For values
if ($http_x_forwarded_for ~* "[<>\"']") {
return 400;
}
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


