☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 6.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-109985

CVE-2026-109985 Cross-Site Scripting in xSpeed Cache
📅 PUBLISHED: 2026-10-17 00:00 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🥷 MITRE: T1059.007
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: <= 1.4.2
CVSS VECTOR BREAKDOWN 6.4
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
6.4
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-109985 is a stored cross-site scripting (XSS) vulnerability in the WordPress plugin "xSpeed Cache: AI-Powered Performance Hub with MCP, Caching & CDN," affecting all versions up to and including 1.4.2. The flaw resides in handling of the 'content' parameter, where insufficient input sanitization and output escaping allow an authenticated attacker with contributor-level privileges or higher to inject arbitrary web scripts into pages. When a victim (including higher-privileged users or site visitors) views an injected page, the script executes in their browser context, enabling session/token theft, content tampering, and potential privilege escalation within the WordPress site. The CVSS v3.1 base score is 6.4, reflecting a network-vector, low-complexity attack requiring low privileges and no user interaction by the attacker (though victim view is required).

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability is a classic Stored Cross-Site Scripting (CWE-79) issue within a WordPress plugin that exposes a 'content' parameter. According to the NVD description, the plugin fails to properly sanitize user-supplied input to this parameter and fails to escape it on output when rendering stored content back to users. As a result, a malicious payload submitted through the 'content' parameter is persisted (stored) in the application and later rendered into a page without adequate encoding, causing the browser to interpret it as executable script rather than inert text.

Key technical characteristics derived strictly from the available data:

  • Attack surface: The 'content' parameter accepted by the plugin. The precise HTTP endpoint, request method, or function/class names handling this parameter are not disclosed in the NVD description and are therefore not asserted here. The parameter is referenced by name only.
  • Required privileges: Authenticated users with contributor-level access or above. In WordPress, contributors can create and edit their own posts but cannot publish; the ability to inject stored content nonetheless creates a persistent payload that executes when the rendered page is accessed by other users.
  • Sanitization/escaping failure: The core defect is the absence (or insufficiency) of input sanitization and output escaping. This is the standard mechanism by which stored XSS succeeds in CMS plugins — user-controlled markup is saved and later emitted into HTML context without contextual encoding.
  • Scope change (S:C): The CVSS vector indicates a scope change, meaning the vulnerable component's exploitation can affect resources beyond its security scope — consistent with XSS executing in the browser of a different user/security principal than the injecting attacker.

No code-level specifics (function names, class names, file paths, or the exact REST/admin endpoint) are provided in the source data. This report deliberately avoids inventing such details. The vulnerability class and mechanism are well-established, but the precise implementation path should be confirmed through source review of the plugin's handling of the 'content' parameter.

Because there is no vendor patch, no CVE-assigned PoC, no Nuclei template, and no exploit code in the provided intelligence, the exploitability assessment is based on the vulnerability class rather than a validated exploit chain. Stored XSS in WordPress plugins is historically a reliably exploitable class where an authenticated low-privilege account is available.

Exploitation Scenarios

No public PoC is available; the attack chain below is inferred from the vulnerability class (authenticated stored XSS) and the privileges stated in the NVD description. No implementation-specific endpoints, parameters beyond 'content', or function names are asserted.

  1. Reconnaissance / target identification

    • The attacker identifies a target WordPress site running the xSpeed Cache plugin at a version at or below 1.4.2. Version fingerprinting can be performed by inspecting publicly referenced plugin assets or metadata associated with the plugin on the target.
    • The attacker determines whether they can obtain an authenticated account with at least contributor-level access. In many WordPress deployments, self-registration, guest-author plugins, or compromised low-privilege accounts provide this foothold.
  2. Triggering the flaw class

    • Using the authenticated contributor (or higher) account, the attacker supplies a crafted value to the 'content' parameter. Because the plugin does not sanitize this input and does not escape it on output, the value is stored and later rendered into a page.
    • The specific request shape (endpoint, method, and surrounding parameters) is not disclosed in the source data and must be determined from the plugin's behavior.
  3. Payload / execution method (vulnerability-class level)

    • The injected value contains script content that the victim's browser executes when the affected page is viewed. At the class level, this is arbitrary JavaScript executing in the origin of the WordPress site.
    • Execution occurs on page access — the victim need not interact with the payload directly beyond loading the injected page. Higher-privileged users (editors, administrators) reviewing or previewing the content are the highest-value victims.
  4. Post-exploitation impact

    • With script executing in the site's origin, an attacker can act with the victim's session context: read accessible page data, perform actions as the victim where the application permits, and manipulate displayed content.
    • Where an administrative user is the victim, the XSS can be leveraged toward privilege escalation within the WordPress installation (e.g., actions available to that user's session), content defacement, or redirection of visitors to attacker-controlled resources.
    • Because the payload is stored, it persists and recurs for every user who accesses the injected page until the malicious content is removed and the plugin is remediated.

Impact Assessment

  • Confidentiality (C:L — Low): Script execution in a victim's browser context can expose data accessible to that session, but the CVSS rating constrains this to limited confidentiality impact.
  • Integrity (I:L — Low): The attacker can alter rendered content and potentially perform limited state-changing actions within the victim's session; rated low.
  • Availability (A:N — None): No direct availability impact is indicated.
  • Scope (S:C — Changed): Exploitation affects resources beyond the vulnerable component's scope, reflecting execution in other users' browser sessions.
  • Attack Vector (AV:N) / Complexity (AC:L) / Privileges (PR:L) / User Interaction (UI:N): Remotely reachable, low complexity, requires a low-privileged authenticated account; the attacker's own interaction requirement is none, though a victim must view the injected page for execution.

Business impact: Any WordPress site running the affected plugin version is exposed. Sites that allow contributor-level accounts (multi-author blogs, community sites, membership sites) carry elevated risk because the privilege prerequisite is easy to satisfy. The most severe outcomes arise when administrators or editors view injected content. Blast radius is bounded by the plugin's presence and the site's user base; stored payloads persist until cleaned. No evidence of in-the-wild exploitation, CISA KEV listing, or known threat actor campaign is available in the provided intelligence, and EPSS has not yet scored this CVE.

Detection Guidance

Sigma Rule

title: Potential xSpeed Cache Stored XSS via 'content' Parameter
id: 8f3c2a91-4b7e-4c1d-9e2a-xspeed109985
status: experimental
description: Detects requests submitting script-like payloads to the xSpeed Cache 'content' parameter consistent with CVE-2026-109985 stored XSS.
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2026-109985
author: Threat Intelligence
logsource:
  category: webserver
detection:
  selection_param:
    cs-uri-query|contains: 'content='
  selection_payload:
    cs-uri-query|contains:
      - '<script'
      - '%3Cscript'
      - 'onerror='
      - 'onload='
      - 'javascript:'
      - '<svg'
      - '%3Csvg'
  condition: selection_param and selection_payload
fields:
  - c-ip
  - cs-uri
  - cs-method
  - cs-user-agent
falsepositives:
  - Legitimate content containing markup or code samples
  - Security scanners and fuzzing tools
level: medium
tags:
  - attack.t1059.007
  - cve.2026.109985

YARA Rule

rule CVE_2026_109985_xSpeed_Cache_Stored_XSS
{
    meta:
        description = "Detects xSpeed Cache plugin files and stored script payload patterns related to CVE-2026-109985"
        cve = "CVE-2026-109985"
        author = "Threat Intelligence"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-109985"
    strings:
        $plugin = "xSpeed Cache" ascii wide nocase
        $slug   = "/xspeed-cache/" ascii wide nocase
        $param  = "'content'" ascii wide
        $script = "<script" ascii wide nocase
        $onerr  = "onerror=" ascii wide nocase
        $svg    = "<svg" ascii wide nocase
    condition:
        (uint16(0) == 0x3C3F or uint16(0) == 0x504B) and
        $plugin and $slug and
        any of ($script, $onerr, $svg)
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2026-109985 xSpeed Cache Stored XSS via content parameter"; flow:established,to_server; http.method; content:"GET" or content:"POST"; http.uri; content:"content="; nocase; http.uri; pcre:"/(%3C|<)(script|svg|img)/i"; reference:cve,2026-109985; classtype:web-application-attack; sid:2026109985; rev:1;)

Elastic Detection

sequence by source.ip with maxspan=10s
  [network where http.request.method in ("GET","POST") and
     wildcard(http.request.uri.query, "*content=*")]
  [network where http.request.method in ("POST","GET") and
     (
       wildcard(http.request.uri.query, "*%3Cscript*") or
       wildcard(http.request.uri.query, "*<script*") or
       wildcard(http.request.uri.query, "*onerror=*") or
       wildcard(http.request.uri.query, "*javascript:*")
     )]

Splunk SPL Query

index=web sourcetype=access_combined
| eval uri_decoded=urldecode(uri_query)
| where like(uri_decoded, "%content=%")
| search uri_decoded IN ("*<script*", "*onerror=*", "*javascript:*", "*<svg*")
| stats count min(_time) as first_seen max(_time) as last_seen
        values(uri) as uri values(method) as method
        values(useragent) as useragent by src_ip
| sort - count

Wazuh OSSEC Rule

<group name="web,appsec,cve-2026-109985,">
  <rule id="2026109985" level="10">
    <if_sid>31100,31108</if_sid>
    <url>content=</url>
    <match>(%3C|<)(script|svg|img)</match>
    <description>CVE-2026-109985: Possible xSpeed Cache stored XSS attempt via 'content' parameter</description>
    <mitre>
      <id>T1059.007</id>
    </mitre>
    <group>attack,web_attack,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source).

  1. Immediate mitigations

    • Disable or remove the affected xSpeed Cache plugin (versions <= 1.4.2) until a fixed release is available.
    • If the plugin must remain, restrict content creation to trusted, high-privilege roles only; disable public registration and self-service contributor accounts that enable the privilege prerequisite for this flaw.
    • Apply a Web Application Firewall (WAF) with XSS/HTML-injection rules targeting script-like payloads in request parameters, particularly the 'content' parameter. Treat WAF as a compensating control, not a fix.
    • Enforce Content Security Policy (CSP) headers to reduce the impact of any injected inline script execution.
  2. Patch / upgrade steps

    • No vendor patch and no fixed version are identified in the provided intelligence. Monitor the vendor's WordPress.org plugin page and changelog for a security release addressing CVE-2026-109985.
    • Once a fixed version is published, update promptly and verify the plugin's handling of the 'content' parameter is corrected (input sanitization and output escaping).
  3. Long-term hardening

    • Enforce least privilege on WordPress roles; audit contributor and author accounts regularly.
    • Adopt a plugin inventory and vulnerability monitoring program; track CVEs for all installed plugins and subscribe to advisory feeds.
    • Apply defense-in-depth: output encoding standards, CSP, and regular security review of plugins that accept and render user-supplied content.

References

Note: No public PoC, exploit code, CISA KEV listing, or known threat actor campaign is associated with this CVE in the provided data. EPSS has not yet scored this vulnerability.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

product:"xSpeed Cache (WordPress plugin)"
title:"xSpeed Cache (WordPress plugin)"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-109985/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.