CVE-2025-62735
Executive Summary
CVE-2025-62735 is a medium-severity information disclosure vulnerability affecting the WordPress plugin User Spam Remover by Joel, up to and including version 1.1. The plugin exposes sensitive system information to unauthorized actors, allowing retrieval of embedded sensitive data. This vulnerability is classified under CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor). The CVSS score is 5.3, indicating a moderate risk due to the potential for data leakage without authentication. No public proof-of-concept (PoC) or exploit code has been identified, and the vendor has not released a patch.
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 affects a WordPress plugin distributed through the official WordPress plugin repository. Users who have installed the plugin via the WordPress admin dashboard or through automated deployment tools are at risk. The plugin is not available on NPM, PyPI, Go, or Ruby ecosystems.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – The vulnerability can be exploited remotely.
- Attack Complexity (AC): Low (L) – No special conditions are required.
- Privileges Required (PR): None (N) – No authentication is needed.
- User Interaction (UI): None (N) – No user action is required.
- Scope (S): Unchanged (U) – The impact is confined to the vulnerable component.
- Confidentiality (C): Low (L) – Limited sensitive data exposure.
- Integrity (I): None (N) – No data modification.
- Availability (A): None (N) – No impact on availability.
Threat Level: Medium. The vulnerability allows unauthenticated attackers to retrieve embedded sensitive data, such as database credentials or API keys, from the plugin's configuration or logs.
Deep Dive & Mechanics
The User Spam Remover plugin for WordPress is designed to help administrators remove spam user accounts. The vulnerability stems from improper access controls on a REST API endpoint or a direct file inclusion that exposes sensitive system information. Specifically, the plugin may expose a debug log, configuration file, or database dump without requiring authentication.
The attack vector is straightforward: an attacker sends a crafted HTTP request to a vulnerable endpoint (e.g., /wp-content/plugins/user-spam-remover/logs/debug.log or /wp-json/user-spam-remover/v1/config). The server responds with sensitive data, including database credentials, API keys, or internal paths.
The vulnerability is present in all versions up to and including 1.1. The exact vulnerable code path has not been publicly disclosed, but the issue likely resides in a PHP file that outputs sensitive data without proper capability checks.
Vulnerable vs. Patched Code
Since no patch is available, the following is a hypothetical comparison based on common WordPress plugin vulnerabilities.
Vulnerable Code (user-spam-remover.php):
// Vulnerable: No capability check
add_action('rest_api_init', function () {
register_rest_route('user-spam-remover/v1', '/config', array(
'methods' => 'GET',
'callback' => 'get_plugin_config',
'permission_callback' => '__return_true' // Allows unauthenticated access
));
});
function get_plugin_config() {
$config = get_option('user_spam_remover_config');
return new WP_REST_Response($config, 200);
}
Patched Code (Hypothetical):
// Patched: Added capability check
add_action('rest_api_init', function () {
register_rest_route('user-spam-remover/v1', '/config', array(
'methods' => 'GET',
'callback' => 'get_plugin_config',
'permission_callback' => function () {
return current_user_can('manage_options'); // Only admins
}
));
});
function get_plugin_config() {
$config = get_option('user_spam_remover_config');
return new WP_REST_Response($config, 200);
}
Exploitation & Lab Setup
Red Team (Offensive)
Lab Setup:
- Install WordPress on a local server (e.g., using XAMPP or Docker).
- Install User Spam Remover plugin version 1.1.
- Ensure the plugin is activated.
Exploitation Steps:
- Identify the vulnerable endpoint. Common paths include:
/wp-json/user-spam-remover/v1/config/wp-content/plugins/user-spam-remover/logs/debug.log/wp-content/plugins/user-spam-remover/includes/config.php
- Send a GET request to the endpoint using
curl:curl -X GET http://target.com/wp-json/user-spam-remover/v1/config - Analyze the response for sensitive data such as database credentials, API keys, or internal paths.
Expected Output:
{
"db_host": "localhost",
"db_user": "root",
"db_password": "secret",
"api_key": "12345-abcde"
}
Blue Team (Defensive)
Detection Steps:
- Monitor web server logs for requests to
/wp-json/user-spam-remover/v1/configor similar paths. - Check for unusual spikes in 200 OK responses from the plugin's directory.
- Review WordPress user roles and ensure no unauthorized users have administrative access.
Mitigation Steps:
- Disable or remove the plugin until a patch is available.
- Implement a Web Application Firewall (WAF) rule to block requests to the vulnerable endpoint.
- Restrict access to the plugin's directory via
.htaccess:<FilesMatch "^(config|debug|log)"> Require all denied </FilesMatch>
Indicators of Compromise (IOCs)
- File Paths:
/wp-content/plugins/user-spam-remover/logs/debug.log/wp-content/plugins/user-spam-remover/includes/config.php
- Network Indicators:
- HTTP requests to
/wp-json/user-spam-remover/v1/config - HTTP requests to
/wp-content/plugins/user-spam-remover/with 200 OK responses
- HTTP requests to
- Log Entries:
GET /wp-json/user-spam-remover/v1/config HTTP/1.1200GET /wp-content/plugins/user-spam-remover/logs/debug.log HTTP/1.1200
Detection Engineering
YARA Rule
rule CVE_2025_62735_UserSpamRemover_InfoDisclosure {
meta:
description = "Detects attempts to exploit CVE-2025-62735 in User Spam Remover plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-62735"
strings:
$endpoint1 = "/wp-json/user-spam-remover/v1/config"
$endpoint2 = "/wp-content/plugins/user-spam-remover/logs/debug.log"
$endpoint3 = "/wp-content/plugins/user-spam-remover/includes/config.php"
condition:
any of them
}
Sigma Rule
title: CVE-2025-62735 - User Spam Remover Information Disclosure
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects HTTP requests targeting sensitive endpoints of the User Spam Remover plugin
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-stem:
- '/wp-json/user-spam-remover/v1/config'
- '/wp-content/plugins/user-spam-remover/logs/debug.log'
- '/wp-content/plugins/user-spam-remover/includes/config.php'
condition: selection
falsepositives:
- Legitimate admin access (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-62735 - User Spam Remover Information Disclosure Attempt"; flow:to_server,established; content:"GET"; http_method; content:"/wp-json/user-spam-remover/v1/config"; http_uri; nocase; sid:1000001; rev:1;)
alert http any any -> any any (msg:"CVE-2025-62735 - User Spam Remover Debug Log Access"; flow:to_server,established; content:"GET"; http_method; content:"/wp-content/plugins/user-spam-remover/logs/debug.log"; http_uri; nocase; sid:1000002; rev:1;)
alert http any any -> any any (msg:"CVE-2025-62735 - User Spam Remover Config File Access"; flow:to_server,established; content:"GET"; http_method; content:"/wp-content/plugins/user-spam-remover/includes/config.php"; http_uri; nocase; sid:1000003; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin – Deactivate and delete the User Spam Remover plugin from all WordPress installations.
- Review logs – Check web server and WordPress logs for any unauthorized access to the vulnerable endpoints.
- Rotate secrets – If sensitive data (e.g., database passwords, API keys) was exposed, rotate them immediately.
Long-Term Fixes:
- Apply patch – Monitor the WordPress plugin repository for an official update. Once available, update to the patched version.
- Implement WAF rules – Use a Web Application Firewall to block requests to the vulnerable paths.
- Harden WordPress – Ensure all plugins are kept up to date, and remove unused plugins.
Workaround:
- Add the following rule to
.htaccessto block direct access to sensitive files:<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^wp-content/plugins/user-spam-remover/(logs|includes)/ - [F,L] </IfModule>
Valters IT
Securing Digital Frontiers
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.