What the vulnerability does
01Description
The Independent Analytics plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 404 not_found_url tracking parameter in versions up to, and including, 2.15.0. This is due to the get_cell_content() function applying urldecode() after esc_url() when rendering the URL column for 404 entries — a sequence that allows percent-encoded HTML to pass URL validation and then be reconstructed as raw markup, which wp_kses_post() does not strip because it retains img elements and data-* attributes, and because the public REST endpoint /iawp/search accepts unauthenticated requests as long as they carry a signature that is itself embedded in public page HTML. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
Explanation of Vulnerability in Simple Terms
02Summary
Independent Analytics contains a cross-site scripting (XSS) vulnerability that allows unauthenticated attackers to inject malicious scripts into the site. The vulnerability affects all versions up to 2.15.0. An attacker can craft a malicious request to inject JavaScript that executes in visitors' browsers, potentially stealing session tokens or redirecting users to phishing sites. The scope is changed, meaning the impact extends beyond the plugin itself.
What an attacker can do
03Attacker Capabilities
Inject malicious JavaScript that runs in visitors' browsers without authentication.
Potential impact on your site
04Site Impact
Visitors to your site could have their sessions hijacked, credentials stolen, or be redirected to malicious sites.
Conditions required to exploit
05Prerequisites
None. The attacker needs only network access; no authentication or user interaction required.
Key dates
06Disclosure timeline
August 5, 2026
CVE published