# WP Activity Log <= 5.6.8 - Authenticated (Subscriber+) Stored Cross-Site Scripting via User Profile Fields

- **ID:** WPSEC-2026-2645
- **Plugin:** WP Activity Log (`wp-security-audit-log`), https://wordpress.org/plugins/wp-security-audit-log/
- **Affected versions:** from 5.0.0 before 5.7.0
- **Fixed in:** 5.7.0 (Update to 5.7.0 or later.)
- **Severity:** Medium 6.4 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N)
- **Weakness:** CWE-79
- **Usage among sites WPSec scans:** plugin Medium, affected versions Medium (as of 2026-11-06)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/wp-security-audit-log
- **Fix released:** 2026-11-05
- **Published:** 2026-11-06
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2645/

## Description

The WP Activity Log plugin for WordPress is vulnerable to Stored Cross-Site Scripting via user profile fields (display name, first name, last name) shown in the user tooltip of the activity log viewer in all versions up to, and including, 5.6.8, due to insufficient output escaping. The tooltip markup was attribute-escaped only once with esc_attr(), which does not encode existing HTML entities, and the darktooltip script then inserted the decoded attribute value into the page as HTML. This makes it possible for authenticated attackers, with subscriber-level access and above on a site connected to a MainWP Dashboard that uses the plugin's MainWP integration, to inject arbitrary web scripts through entity-encoded markup in their profile name fields. The scripts execute when an administrator opens the user tooltip in the Dashboard's activity log.

## References

- https://wpsec.com/vuln/WPSEC-2026-2645/
- https://plugins.svn.wordpress.org/wp-security-audit-log/tags/5.7.0/
- https://wordpress.org/plugins/wp-security-audit-log/

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

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.
