CVE-2026-15180
Executive Summary
CVE-2026-15180 is a reflected cross-site scripting (XSS) vulnerability in the Tracking Code Manager plugin for WordPress, affecting all versions up to and including 2.6.0. The flaw is triggered through the TCM_ErrorMessages POST parameter due to insufficient input sanitization and output escaping, allowing unauthenticated attackers to inject arbitrary web scripts. Successful exploitation requires user interaction (e.g., clicking a crafted link), and impact is limited to the confidentiality and integrity of the victim's browser session in the context of the affected site.
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.
No signup required
Technical Analysis
The vulnerability resides in the Tracking Code Manager plugin, a WordPress extension used to manage and inject tracking codes (e.g., analytics, pixels) into site pages. The NVD description identifies the injection point as the TCM_ErrorMessages POST parameter, which is processed without adequate sanitization and whose value is later reflected into a response without proper output escaping. This is a classic reflected XSS condition (CWE-79).
Reflected XSS occurs when user-supplied input is immediately returned by a web application in a response without context-aware encoding. In this case, an attacker can supply a crafted value to TCM_ErrorMessages, and if the application reflects that value into an HTML response, the browser may interpret embedded script content as executable code. Because the parameter is a POST parameter, the attacker must deliver the malicious request through a form submission or a crafted page that automatically issues the POST request.
The CVSS vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N indicates:
- Network exploitable (AV:N)
- Low attack complexity (AC:L)
- No privileges required (PR:N)
- User interaction required (UI:R)
- Scope changed (S:C), meaning the vulnerable component and the impacted component are different security authorities (e.g., the plugin's context versus the victim's browser session)
- Low confidentiality and integrity impact (C:L/I:L)
- No availability impact (A:N)
The scope change reflects that script execution occurs in the victim's browser, outside the immediate security context of the vulnerable server component. The base score of 6.1 is consistent with a reflected XSS requiring user interaction.
No public proof-of-concept, exploit code, or Nuclei template is currently available. The precise code path, the specific page or handler that reflects TCM_ErrorMessages, and the exact encoding context are not detailed in the available data. Therefore, the remaining analysis focuses on the vulnerability class and its general exploitation mechanics rather than fabricated implementation details.
Exploitation Scenarios
The following attack chain is derived strictly from the vulnerability class (reflected XSS via a POST parameter) and the data provided. No public PoC exists, so the chain is inferred at the class level.
Reconnaissance / Target Identification An attacker identifies WordPress sites running the Tracking Code Manager plugin, versions up to and including 2.6.0. This can be done through passive fingerprinting (e.g., detecting plugin assets under
wp-content/plugins/) or active scanning. The attacker locates an endpoint that processes theTCM_ErrorMessagesPOST parameter.Triggering the Flaw The attacker crafts an HTTP POST request containing a malicious payload in the
TCM_ErrorMessagesparameter. Because the input is insufficiently sanitized and later reflected without output escaping, the payload is embedded into the response HTML. The request may be delivered via a malicious webpage that auto-submits a form, or through a link that causes the victim's browser to issue the POST request.Payload / Execution Method The payload consists of arbitrary web script (e.g., JavaScript) intended to execute in the victim's browser within the origin of the affected WordPress site. The exact syntax and required encoding depend on the reflection context, which is not specified in the available data. At the class level, the attacker aims to break out of the surrounding HTML context and inject a script element or event handler.
Post-Exploitation Impact If the victim interacts with the crafted request, the injected script executes in the context of the vulnerable site. This can lead to session hijacking, theft of cookies or tokens accessible to JavaScript (excluding HttpOnly cookies), redirection to malicious sites, defacement of the rendered page, or further client-side attacks. The CVSS subscores indicate low confidentiality and integrity impact and no availability impact. No public exploit-in-the-wild or threat actor campaign has been observed for this CVE.
Impact Assessment
Business impact is primarily reputational and session-integrity related. An attacker who successfully tricks a user into triggering the reflected XSS can execute script in the victim's browser under the affected site's origin. This may allow theft of non-HttpOnly session cookies, manipulation of page content, or redirection of users to attacker-controlled resources.
Affected systems are WordPress installations running the Tracking Code Manager plugin in versions up to and including 2.6.0. Because the vulnerability is unauthenticated and requires only user interaction, the blast radius depends on the number of users who can be induced to click a crafted link or submit a crafted form. The scope change (S:C) in the CVSS vector reflects that the vulnerable server component and the impacted browser session are distinct security authorities.
The absence of public exploit code, Nuclei templates, or CISA KEV listing suggests that mass exploitation is not currently observed. However, the low complexity (AC:L) and no-privilege requirement (PR:N) make this a realistic target for opportunistic phishing-style campaigns that rely on social engineering.
Detection Guidance
Sigma Rule
title: Potential Reflected XSS via TCM_ErrorMessages POST Parameter
id: 6c3e1a7f-9b2d-4e8a-8f1c-2d5a7b9c0e3f
status: experimental
description: Detects HTTP POST requests containing the TCM_ErrorMessages parameter with script-like payloads, targeting the Tracking Code Manager WordPress plugin.
author: Threat Intelligence
date: 2026-01-01
logsource:
category: webserver
product: apache
detection:
selection_method:
cs-method: 'POST'
selection_param:
cs-uri-query|contains: 'TCM_ErrorMessages'
selection_payload:
cs-uri-query|contains:
- '<script'
- 'javascript:'
- 'onerror='
- 'onload='
- 'alert('
condition: selection_method and selection_param and selection_payload
fields:
- c-ip
- cs-uri
- cs-uri-query
- cs-user-agent
falsepositives:
- Legitimate administrative form submissions containing benign text
level: medium
tags:
- attack.t1190
- cve.2026.15180
YARA Rule
rule CVE_2026_15180_TrackingCodeManager_XSS
{
meta:
description = "Detects reflected XSS attempts via the TCM_ErrorMessages POST parameter in the Tracking Code Manager WordPress plugin (CVE-2026-15180)"
author = "Threat Intelligence"
date = "2026-01-01"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-15180"
severity = "medium"
strings:
$param = "TCM_ErrorMessages" ascii nocase
$s1 = "<script" ascii nocase
$s2 = "javascript:" ascii nocase
$s3 = "onerror=" ascii nocase
$s4 = "onload=" ascii nocase
$s5 = "alert(" ascii nocase
condition:
$param and any of ($s*)
}
Suricata IDS Rule
alert http any any -> any any (msg:"CVE-2026-15180 Tracking Code Manager Reflected XSS via TCM_ErrorMessages POST Parameter"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"TCM_ErrorMessages"; nocase; http.request_body; content:"<script"; nocase; sid:2026151801; rev:1; reference:cve,2026-15180; classtype:web-application-attack; metadata:service http;)
Elastic Detection
network where network.protocol == "http" and
http.request.method == "POST" and
stringContains(http.request.body, "TCM_ErrorMessages") and
(stringContains(http.request.body, "<script") or
stringContains(http.request.body, "javascript:") or
stringContains(http.request.body, "onerror="))
Splunk SPL Query
index=web sourcetype=access_combined OR sourcetype=apache_access
| where method="POST" AND match(_raw, "(?i)TCM_ErrorMessages")
| rex field=_raw "(?i)(?<payload>(<script|javascript:|onerror=|onload=|alert\())"
| search payload=*
| stats count min(_time) as first_seen max(_time) as last_seen by clientip, uri, payload
| sort - count
Wazuh OSSEC Rule
<group name="web,appsec,cve-2026-15180,">
<rule id="100150" level="10">
<decoded_as>web-accesslog</decoded_as>
<field name="url">TCM_ErrorMessages</field>
<regex type="pcre2">(?i)(%3Cscript|<script|javascript:|onerror=|onload=|alert\()</regex>
<description>CVE-2026-15180: Possible reflected XSS attempt via TCM_ErrorMessages POST parameter in Tracking Code Manager plugin</description>
<mitre>
<id>T1190</id>
</mitre>
<group>cve_2026_15180,attack.web_application,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence is 2/4 (CLAIMED — a single source claims a patch, not independently confirmed). No vendor advisory or workaround is provided in the available data.
Immediate Mitigations
- If the Tracking Code Manager plugin is not required, disable or remove it. Disabling the plugin eliminates the attack surface.
- If the plugin must remain active, restrict or monitor access to endpoints that process the
TCM_ErrorMessagesparameter. Deploy WAF rules to block requests containing script-like payloads in that parameter. - Educate users about phishing and social engineering, since exploitation requires user interaction (clicking a link or submitting a crafted form).
- Ensure session cookies are set with the HttpOnly and Secure attributes to limit the impact of script execution on session theft.
Patch / Upgrade Steps
- Verify whether the plugin vendor has released a fixed version. Because the patch status is CLAIMED and based on a single source, confirm the fix through the official WordPress plugin repository or vendor channel.
- Upgrade the Tracking Code Manager plugin to the latest available version after confirming the fix.
- If no fix is available, consider temporarily deactivating the plugin until a patch is released.
Long-term Hardening
- Enforce a policy of timely plugin updates and removal of unused plugins.
- Implement Content Security Policy (CSP) headers to reduce the impact of XSS.
- Conduct regular security assessments and dependency reviews for WordPress plugins.
- Monitor security advisories and CVE feeds for the Tracking Code Manager plugin and related components.
References
- NVD — CVE-2026-15180: https://nvd.nist.gov/vuln/detail/CVE-2026-15180
- MITRE CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'): https://cwe.mitre.org/data/definitions/79.html
- OWASP — Cross Site Scripting (XSS): https://owasp.org/www-community/attacks/xss/
- WordPress Plugin Security: https://wordpress.org/plugins/tracking-code-manager/
- CISA Known Exploited Vulnerabilities Catalog (not listed as of report date): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
No public PoC, exploit code, Nuclei template, or threat actor campaign has been identified for CVE-2026-15180 at the time of writing.
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.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.