Description
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.
Published: 2026-08-05
Score: 7.2 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Independent Analytics plugin for WordPress is susceptible to stored cross‑site scripting due to the 404 not_found_url tracking parameter in versions up to and including 2.15.0. The get_cell_content() function applies urldecode() after esc_url(), allowing percent‑encoded HTML to bypass URL validation and be rendered as raw markup. Because wp_kses_post() preserves img elements and data‑* attributes, malicious payloads survive the sanitisation process. A public REST endpoint (/iawp/search) accepts unauthenticated requests as long as they include a signature embedded in page HTML, enabling an attacker to inject JavaScript that is stored and later executed when a visitor opens an injected page.

Affected Systems

The affected product is the Independent Analytics plugin for WordPress by bensibley. All releases up to and including 2.15.0 are vulnerable; newer releases are not affected.

Risk and Exploitability

The vulnerability carries a CVSS score of 7.2 and is not listed in the CISA KEV catalog. With no EPSS score available, the exploitation probability is unclear but the presence of an unauthenticated REST interface and the possibility to supply a signature from public page HTML suggest a realistic attack path. Exploit would result in client‑side script execution for any user who visits a page containing the injected payload, potentially compromising session data or defacing content.

Generated by OpenCVE AI on August 5, 2026 at 15:06 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Independent Analytics to the latest version (≥2.16.0) to eliminate the vulnerable 404 tracking mechanism.
  • If an upgrade cannot be performed immediately, block or remove access to the public REST endpoint /iawp/search through web‑server configuration or firewall rules.
  • After applying a patch or workaround, verify that no residual 404 URLs with malicious content remain in the site's database and that visitor‑tracking data is properly sanitized or disabled.

Generated by OpenCVE AI on August 5, 2026 at 15:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 05 Aug 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 05 Aug 2026 15:00:00 +0000

Type Values Removed Values Added
First Time appeared Bensibley
Bensibley independent Analytics – Wordpress Analytics Plugin
Wordpress
Wordpress wordpress
Vendors & Products Bensibley
Bensibley independent Analytics – Wordpress Analytics Plugin
Wordpress
Wordpress wordpress

Wed, 05 Aug 2026 13:45:00 +0000

Type Values Removed Values Added
Description 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.
Title Independent Analytics <= 2.15.0 - Unauthenticated Stored Cross-Site Scripting
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 7.2, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N'}


Subscriptions

Bensibley Independent Analytics – Wordpress Analytics Plugin
Wordpress Wordpress
cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-08-05T16:18:55.036Z

Reserved: 2026-07-26T22:01:42.082Z

Link: CVE-2026-17506

cve-icon Vulnrichment

Updated: 2026-08-05T16:18:50.651Z

cve-icon NVD

Status : Deferred

Published: 2026-08-05T14:17:04.040

Modified: 2026-08-12T21:00:37.147

Link: CVE-2026-17506

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T15:15:05Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')