CVE-2025-48335
Executive Summary
CVE-2025-48335 is a Missing Authorization vulnerability in the Responsive Plus WordPress plugin (responsive-add-ons) developed by CyberChimps. The flaw affects all versions up to and including 3.2.0. An authenticated attacker with low privileges (e.g., subscriber) can exploit incorrectly configured access control security levels to perform unauthorized actions, such as modifying plugin settings or accessing sensitive data. The vulnerability has a CVSS score of 5.4 (Medium) and a very low EPSS score (0.0%), indicating it is not currently being actively exploited in the wild. No public proof-of-concept (PoC) code or exploit is available at this time.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability resides in a WordPress plugin distributed via the official WordPress plugin repository. Users who installed the plugin via the WordPress dashboard or directly from the repository are affected. No malicious packages have been identified in the supply chain, but the lack of a patch increases the risk of future exploitation.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
- Base Score: 5.4 (Medium)
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: Low (authenticated user)
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: Low
- Integrity Impact: Low
- Availability Impact: None
Threat Level: Medium. The vulnerability requires authentication, limiting the attack surface to internal or compromised users. However, the low complexity and lack of user interaction make it a viable target for privilege escalation or data manipulation.
Deep Dive & Mechanics
The vulnerability stems from missing authorization checks in the responsive-add-ons plugin. WordPress plugins often use capability checks (e.g., current_user_can('manage_options')) to restrict access to administrative functions. In this case, the plugin fails to validate user permissions for certain AJAX actions or REST endpoints, allowing any authenticated user (including subscribers) to trigger sensitive operations.
Root Cause: The plugin does not implement proper capability checks in functions handling plugin settings, options updates, or data exports. An attacker can craft a request to these endpoints without the required administrative privileges.
Attack Flow:
- Attacker authenticates as a low-privileged user (e.g., subscriber).
- Attacker sends a crafted HTTP request to a vulnerable endpoint (e.g.,
/wp-admin/admin-ajax.php?action=responsive_plus_update_settings). - The plugin processes the request without verifying the user's role, leading to unauthorized changes.
Vulnerable vs. Patched Code
Since no patch is available, the following is a hypothetical comparison based on common fixes.
Vulnerable Code (responsive-add-ons <= 3.2.0):
add_action('wp_ajax_responsive_plus_update_settings', 'responsive_plus_update_settings_callback');
function responsive_plus_update_settings_callback() {
// Missing capability check
update_option('responsive_plus_settings', $_POST['settings']);
wp_die();
}
Patched Code (hypothetical):
add_action('wp_ajax_responsive_plus_update_settings', 'responsive_plus_update_settings_callback');
function responsive_plus_update_settings_callback() {
if (!current_user_can('manage_options')) {
wp_die('Unauthorized', 403);
}
update_option('responsive_plus_settings', $_POST['settings']);
wp_die();
}
Exploitation & Lab Setup
Red Team (Attacker)
Prerequisites:
- WordPress instance with Responsive Plus <= 3.2.0 installed and activated.
- Valid low-privileged user credentials (e.g., subscriber).
Exploitation Steps:
- Log in as a subscriber.
- Identify vulnerable endpoints by analyzing plugin source code or using a tool like Burp Suite.
- Send a crafted POST request to the vulnerable AJAX action.
Example Request (using cURL):
curl -X POST 'http://target.com/wp-admin/admin-ajax.php' \
-d 'action=responsive_plus_update_settings&settings[option1]=malicious_value' \
--cookie 'wordpress_logged_in_<hash>=<session_cookie>'
Expected Outcome: The plugin updates the option without authorization, allowing the attacker to modify plugin behavior.
Blue Team (Defender)
Detection Steps:
- Monitor for unusual AJAX requests from low-privileged users.
- Review server logs for
admin-ajax.phprequests with unexpectedactionparameters. - Use the detection rules provided below.
Honeypot Setup:
- Deploy a WordPress honeypot with the vulnerable plugin to capture exploitation attempts.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP POST requests to
/wp-admin/admin-ajax.phpwithaction=responsive_plus_*parameters from non-admin users. - Unusual
settingsparameters in POST body.
- HTTP POST requests to
File IOCs:
- Modified
wp_optionstable entries forresponsive_plus_settings. - Unexpected plugin configuration changes.
- Modified
Log IOCs:
- WordPress debug log entries showing unauthorized access attempts to plugin AJAX handlers.
Detection Engineering
YARA Rule
rule Detect_Responsive_Plus_Missing_Auth {
meta:
description = "Detects exploitation attempts of CVE-2025-48335 in Responsive Plus plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-48335"
strings:
$ajax_action = "responsive_plus_" nocase
$admin_ajax = "admin-ajax.php" nocase
$settings_param = "settings[" nocase
condition:
all of them
}
Sigma Rule
title: CVE-2025-48335 - Missing Authorization in Responsive Plus Plugin
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects unauthorized AJAX requests to Responsive Plus plugin endpoints
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
service: access
detection:
selection:
cs-method: 'POST'
c-uri|contains: '/wp-admin/admin-ajax.php'
cs-uri-query|contains: 'action=responsive_plus_'
condition: selection
falsepositives:
- Legitimate admin actions (rare)
level: medium
Suricata Rule
alert http any any -> any any (
msg:"CVE-2025-48335 - Responsive Plus Missing Authorization Exploit";
flow:to_server,established;
content:"POST";
http_method;
content:"/wp-admin/admin-ajax.php";
http_uri;
content:"action=responsive_plus_";
http_client_body;
sid:1000001;
rev:1;
reference:cve,2025-48335;
classtype:attempted-admin;
priority:2;
)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin if not critical to operations.
- Restrict access to
/wp-admin/admin-ajax.phpusing.htaccessor web application firewall (WAF) rules. - Monitor user activity for unauthorized AJAX requests.
Long-Term Fix:
- Since no patch is available, consider replacing the plugin with an alternative that provides similar functionality.
- If the plugin is essential, implement a custom patch by adding capability checks to all AJAX handlers (see patched code example above).
WAF Rule (ModSecurity):
SecRule REQUEST_URI "/wp-admin/admin-ajax.php" "chain,id:1000002,deny,msg:'CVE-2025-48335 Exploit Attempt'"
SecRule ARGS:action "^responsive_plus_" "chain"
SecRule REQUEST_METHOD "POST"
Valters IT
Securing digital frontiers with intelligence and precision.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.