SUBSCRIBE2 · CVE-2026-120531 · Package
FIX → 10.48 ✓ verified
Subscribe2 up to 10.47 stored the signup IP from the AJAX subscription form without validation and showed it unescaped in the admin Subscribers list, so an anonymous visitor could plant a script that runs in an administrator's browser. Fixed in 10.48.
first public Nov 7, 2026 · 2 sources
Check it with your coding agent
It checks your repository and tells you if you’re affected, with the fix.
WordPress sites running Subscribe2 10.47 or older. Per the plugin changelog, the injection comes through the AJAX subscription form, available when the popup style subscription form is enabled, and runs when an administrator opens the Subscribers list. Sites without the plugin, with 10.48+, or without the popup form can skip it.
Not affected if plugin-not-installed, plugin-updated, popup-form-disabled
Who cares self-hosted, subscribe2, wordpress
Upgrade to 10.48
The Subscribe2 – Form, Email Subscribers & Newsletters plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the ‘data[ip]’ parameter in all versions up to, and including, 10.47 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
This page as .md · .json · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.
Are you affected?
Tell InfraStack what you run. It checks this one, and every next one, against your stack.
Ask from here. InfraStack checks the affected versions against your stack and answers in your inbox.
InfraStack checks the affected versions against your stack and answers in Slack, with the evidence and the fix.
Update Subscribe2 to 10.48 or later (Plugins > Installed Plugins > Update).