
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2025-13950 is a Missing Authorization vulnerability in the OneSignal – Web Push Notifications plugin for WordPress, allowing unauthenticated attackers to overwrite plugin settings including the OneSignal App ID, REST API key, and notification behavior. All plugin versions up to and including 3.6.1 are affected. The vulnerability was disclosed on December 15, 2025, with the CVE record received from Wordfence. It carries a CVSS v3.1 base score of 5.3 (Medium) (Wordfence, GitHub PR #387).
The root cause is CWE-862 (Missing Authorization): the plugin's settings handling functionality processed POST requests without verifying user capabilities or WordPress nonces, meaning any unauthenticated HTTP POST request could trigger settings changes (Wordfence). Specifically, the onesignal-admin.php file handled POST submissions inline without calling check_admin_referer() or current_user_can(), and onesignal-notification.php similarly lacked nonce verification before processing notification trigger data from $_POST. The fix (merged December 2, 2025, prior to public disclosure) refactored settings saving into a dedicated onesignal_handle_settings_save() function hooked to admin_init, adding both check_admin_referer('onesignal_v3_save_settings', 'onesignal_v3_settings_nonce') and current_user_can('manage_options') checks (GitHub PR #387).
Successful exploitation allows an unauthenticated attacker to overwrite the site's OneSignal App ID and REST API key, effectively hijacking the push notification channel to send arbitrary notifications to all subscribers, redirect notification traffic to an attacker-controlled OneSignal account, or disable legitimate notifications entirely. While confidentiality and availability are not directly impacted (CVSS scores these as None), the integrity impact enables abuse of subscriber trust, potential phishing via push notifications, and disruption of site communication workflows (Wordfence).
readme.txt at https://target.com/wp-content/plugins/onesignal-free-web-push-notifications/readme.txt.https://target.com/wp-admin/admin.php?page=onesignal-push) with parameters including submit=Save+Settings, onesignal_app_id=<attacker_app_id>, and onesignal_rest_api_key=<attacker_api_key>./wp-admin/admin.php?page=onesignal-push or similar OneSignal admin pages from external IP addresses without valid session cookies.wordpress_logged_in_* cookie); web server logs with 200 responses to these requests.OneSignalWPSetting option in the WordPress wp_options table, particularly modifications to app_id or app_rest_api_key fields to unrecognized values.Update the OneSignal – Web Push Notifications plugin to version 3.6.2 or later, which includes the fix merged on December 2, 2025 (PR #387) adding proper nonce verification and capability checks (GitHub PR #387). As an interim workaround, site administrators can temporarily deactivate the plugin or restrict access to WordPress admin endpoints via server-level rules (e.g., IP allowlisting for /wp-admin/). After patching, verify the OneSignal App ID and REST API key in plugin settings to ensure they have not been tampered with.
Wordfence reported the vulnerability and assigned the CVE, with the fix already merged into the plugin repository before public disclosure on December 15, 2025 (Wordfence). Sucuri included it in their December 2025 vulnerability patch roundup (Sucuri Blog). Community reaction has been limited given the medium severity rating and lack of active exploitation.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."