Persistent Login <= 3.1.4 - Unauthenticated Content Injection via Freemius SDK 'purchase_completed' Admin Notice
- ID
- WPSEC-2026-0782
- Plugin
- Persistent Login (wp-persistent-login)
- Affected
- all versions before 3.1.5
- Remediation
- Update to 3.1.5 or later.
- CVSS 3.1
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
- Weakness
- CWE-74
- Usage
- Plugin Low · Affected versions None seen among sites WPSec scans, 2026-10-12
- Attack surface
- Persistent Login on WPSec AttackSurface
- Fix released
- Published
Description
The Persistent Login plugin for WordPress is vulnerable to Content Injection via the 'purchased_plan' and 'purchase_email' parameters handled by its bundled Freemius SDK in all versions up to, and including, 3.1.4. This is due to the SDK saving a persistent 'plan_purchased' admin notice built from these request parameters whenever a wp-admin URL carrying 'purchase_completed' is loaded. It does this during plugin initialisation, before any authentication, capability or nonce check. This makes it possible for unauthenticated attackers to inject arbitrary text into a sticky notice shown to administrators in the dashboard, for example misleading purchase or license messages used for phishing, on sites that have opted in to Freemius. HTML is stripped, so script injection is not possible.
References
- https://wpsec.com/vuln/WPSEC-2026-0782/
- https://plugins.svn.wordpress.org/wp-persistent-login/tags/3.1.5/
- https://wordpress.org/plugins/wp-persistent-login/
Published by WPSec. Provided as is, without warranty. Corrections: contact us.
This advisory as JSON or Markdown · All advisories: JSON, RSS