WP-Recall <= 16.26.11 - Authenticated (Admin+) Stored Cross-Site Scripting
Strategic Overview
- Status
- Patched in 16.26.12
- Affected Plugin
- WP-Recall – Registration, Profile, Commerce & More
- Affected Version
<= 16.26.11- CVSS
- 4.4Medium
- Weakness type
- CWE-89 · Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
- CVE
CVE-2024-9771
At a glance
CVE-2024-9771 is a medium-severity Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') vulnerability in the WP-Recall WordPress plugin, affecting versions <= 16.26.11. It carries a CVSS score of 4.4 (reachable over the network). Exploitation requires an authenticated account at Admin level or above. The issue is fixed in version 16.26.12; sites on affected versions should update now. Disclosed April 2025, reported by Bob Matyas.
Vulnerability Overview
The WP-Recall plugin for WordPress is vulnerable to Stored Cross-Site Scripting via admin settings in all versions up to, and including, 16.26.11 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with administrator-level permissions and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This only affects multi-site installations and installations where unfiltered_html has been disabled.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, and no interaction from a victim user.
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
Reaching this weakness in WP-Recall <= 16.26.11 takes an account at Admin level or above. SQL injection happens when request data is concatenated into a query instead of being bound as a parameter, letting an attacker change the structure of the statement rather than just its values.
A working injection can read any table the database user can see, which on a WordPress install means user records, password hashes and session or API secrets stored in options. For WP-Recall the fix is 16.26.12: builds <= 16.26.11 are affected, anything from 16.26.12 onward is not.
Remediation
Update to version 16.26.12, or a newer patched version
How does WordSec protect against this?
An attacker needs Admin access first, so the firewall sees the attempt as traffic from a logged-in account: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: WP-Recall 16.26.12 closes this, and updating the plugin is the step that ends it.
- Firewall
- Alerts
External References
Related records
Same weakness class
Other vulnerabilities in WP-Recall – Registration, Profile, Commerce & More
- 9.8CVE-2024-8292: WP-Recall – Registration, Profile, Commerce & More IDOR
CVE-2024-8292 - 8.8CVE-2025-47653: WP-Recall <= 16.26.14 Local File Inclusion
CVE-2025-47653 - 6.4CVE-2025-1324: WP-Recall Stored XSS
CVE-2025-1324 - 6.3CVE-2025-1325: WP-Recall Authenticated (Subscriber+) Arbitrary
CVE-2025-1325 - 6.1CVE-2025-52796: WP-Recall <= 16.26.14 Reflected Cross-Site Scripting
CVE-2025-52796 - 6.1WP-Recall <= 16.24.47 Reflected Cross-Site Scripting
- 5.3CVE-2025-49991: WP-Recall <= 16.26.14 Missing Authorization
CVE-2025-49991 - 5.3CVE-2024-1175: WP-Recall Payment Deletion
CVE-2024-1175
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C