CVE-2024-54386 Overview
CVE-2024-54386 is a Cross-Site Request Forgery (CSRF) vulnerability affecting the Push Monkey Pro – Web Push Notifications and WooCommerce Abandoned Cart plugin for WordPress. The flaw exists in versions through 3.9 of the push-monkey-desktop-push-notifications plugin. According to the Patchstack advisory, the CSRF condition can be chained to produce stored Cross-Site Scripting (XSS), expanding the impact beyond a simple state-changing request. The weakness is classified as [CWE-352] Cross-Site Request Forgery. Exploitation requires an authenticated user to interact with attacker-controlled content, such as visiting a malicious page while logged in to WordPress.
Critical Impact
An attacker can trick an authenticated administrator into submitting a forged request that injects persistent JavaScript into the plugin's settings, leading to stored XSS execution in the administrator's browser context.
Affected Products
- Push Monkey Pro – Web Push Notifications and WooCommerce Abandoned Cart
- WordPress plugin slug: push-monkey-desktop-push-notifications
- All versions through 3.9
Discovery Timeline
- 2024-12-16 - CVE-2024-54386 published to the National Vulnerability Database
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2024-54386
Vulnerability Analysis
The vulnerability stems from missing or improperly implemented anti-CSRF protection on one or more state-changing actions in the Push Monkey Pro plugin. WordPress provides nonce mechanisms (wp_nonce_field, check_admin_referer, wp_verify_nonce) to bind requests to authenticated user sessions. When these checks are absent or insufficient, the plugin accepts cross-origin requests that originate from any site capable of submitting a form or issuing a fetch call against the target endpoint.
In this case, the CSRF flaw is escalatable to stored Cross-Site Scripting. An attacker crafts a malicious page that triggers a forged request to a plugin endpoint that writes attacker-controlled values into persistent storage without sanitization. When an administrator later renders the affected admin page, the injected payload executes in the browser, allowing session theft, account takeover, or further plugin manipulation.
Root Cause
The root cause is the absence of CSRF tokens on at least one administrative action handler in the plugin, combined with insufficient output encoding on stored values. Both controls are required to prevent the CSRF-to-XSS chain.
Attack Vector
Exploitation is network-based and requires user interaction. An attacker hosts a page containing an auto-submitting form or a JavaScript-driven request targeting the vulnerable WordPress site. When a logged-in administrator visits the attacker-controlled page, the browser attaches authentication cookies and the forged request is processed as legitimate. The persisted payload then triggers stored XSS on subsequent admin page views, producing a scope change that affects users beyond the initially targeted administrator.
No verified exploit code is published. Refer to the Patchstack WordPress Vulnerability Advisory for additional technical detail.
Detection Methods for CVE-2024-54386
Indicators of Compromise
- Unexpected <script>, onerror, or onload strings stored in Push Monkey Pro plugin options within the wp_options table.
- Administrator account creation, role changes, or plugin installation events that correlate with admin page visits.
- Outbound HTTP requests from administrator browsers to unfamiliar domains shortly after visiting the WordPress admin dashboard.
Detection Strategies
- Inspect plugin settings rows in wp_options for HTML or JavaScript content that should contain only configuration values.
- Review web server access logs for POST requests to plugin admin endpoints lacking a valid Referer header pointing to the same WordPress origin.
- Audit the WordPress activity log for configuration changes to Push Monkey Pro that do not match administrator-initiated activity.
Monitoring Recommendations
- Enable a Web Application Firewall (WAF) rule set with CSRF and stored XSS signatures for WordPress plugin endpoints.
- Monitor administrator sessions for anomalous JavaScript execution patterns and unusual API calls originating from /wp-admin/.
- Forward WordPress audit logs to a centralized logging platform and alert on plugin option modifications.
How to Mitigate CVE-2024-54386
Immediate Actions Required
- Update Push Monkey Pro to a version later than 3.9 once the vendor publishes a patched release.
- Audit current plugin settings for injected scripts and remove any unexpected HTML or JavaScript values.
- Force a password reset and session invalidation for all WordPress administrator accounts if compromise is suspected.
Patch Information
At the time of publication, the Patchstack advisory lists the vulnerability as affecting versions up to and including 3.9. Administrators should consult the Patchstack advisory and the official plugin page for the current fixed version and apply the update through the WordPress plugin manager.
Workarounds
- Deactivate and remove the Push Monkey Pro plugin until a patched version is available.
- Restrict /wp-admin/ access by IP allow-list or VPN to reduce CSRF exposure from arbitrary external pages.
- Deploy a WAF rule that requires a same-origin Referer or Origin header on plugin administrative POST endpoints.
- Enforce browser isolation or a dedicated administrative browser profile for WordPress management activities.
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

