# QA Assistants <= 5.3.0.2 - Unauthenticated Server-Side Request Forgery via Tracked Page URL

- **ID:** WPSEC-2026-2955
- **Plugin:** QA Assistants – Driven by data (`qa-heatmap-analytics`), https://wordpress.org/plugins/qa-heatmap-analytics/
- **Affected versions:** all versions before 5.3.0.3
- **Fixed in:** 5.3.0.3 (Update to 5.3.0.3 or later.)
- **Severity:** Medium 6.1 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N)
- **Weakness:** CWE-918
- **Usage among sites WPSec scans:** plugin Low, affected versions Low (as of 2026-11-12)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/qa-heatmap-analytics
- **Fix released:** 2026-11-10
- **Published:** 2026-11-12
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2955/

## Description

The QA Assistants plugin for WordPress is vulnerable to Server-Side Request Forgery via the tracked page URL in all versions up to, and including, 5.3.0.2. This is due to the public tracking endpoint (qahm-ajax.php) accepting any page URL without checking it against the registered sites. The plugin later fetches that stored URL with wp_remote_get() (or cURL), following redirects, when it builds replay, heatmap and page-HTML data. This makes it possible for unauthenticated attackers to make the web server send requests to arbitrary locations, including internal services. The responses are saved and shown in the plugin's analytics views.

## References

- https://wpsec.com/vuln/WPSEC-2026-2955/
- https://plugins.svn.wordpress.org/qa-heatmap-analytics/tags/5.3.0.3/
- https://wordpress.org/plugins/qa-heatmap-analytics/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-2955/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
