CVE-2024-7426
Executive Summary
CVE-2024-7426 is a Full Path Disclosure vulnerability affecting the Community by PeepSo WordPress plugin, versions up to and including 6.4.6.0. This issue allows unauthenticated attackers to retrieve the full server path of the web application by directly accessing the sse.php file, which exposes error messages containing the path. While the information disclosed is not directly exploitable for code execution or data theft, it significantly aids in reconnaissance for further attacks, such as Local File Inclusion (LFI) or SQL injection. The vulnerability has a CVSS score of 5.3 (Medium) and currently has no known public exploit or 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 is specific to the WordPress plugin ecosystem. The PeepSo plugin is distributed via the official WordPress Plugin Directory and third-party marketplaces. Users should verify the integrity of their plugin files by comparing checksums with the official repository. No known malicious packages have been associated with this CVE.
CVSS Breakdown & Threat Level
- CVSS Score: 5.3 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: Low (path disclosure)
- Integrity Impact: None
- Availability Impact: None
The low EPSS score (0.0%) indicates that exploitation is not currently widespread, but the low attack complexity and lack of authentication make it a trivial target for automated scanners.
Deep Dive & Mechanics
The vulnerability resides in the sse.php file within the PeepSo plugin directory. This file is intended for Server-Sent Events (SSE) functionality, but it lacks proper access controls and error handling. When an unauthenticated attacker directly requests sse.php, the plugin may generate PHP errors or warnings that include the full filesystem path (e.g., /var/www/html/wp-content/plugins/peepso/sse.php). This occurs because the plugin does not suppress error output or validate the request context.
The root cause is a combination of:
- Direct access to
sse.phpwithout authentication checks. - PHP error reporting enabled in the plugin’s execution context.
- Lack of a
die()orexit()call when the file is accessed outside its intended workflow.
Vulnerable vs. Patched Code
Since no official patch is available, the vulnerable code is presumed to be in sse.php. A patched version would likely include:
Vulnerable (sse.php):
<?php
// No authentication check
// Error reporting may be enabled
ini_set('display_errors', 1);
// ... SSE logic that may fail and expose path
?>
Patched (hypothetical):
<?php
// Prevent direct access
if (!defined('ABSPATH')) {
exit;
}
// Disable error display
ini_set('display_errors', 0);
// Add authentication check
if (!is_user_logged_in()) {
wp_die('Unauthorized');
}
// ... SSE logic
?>
Exploitation & Lab Setup
Red Team
Prerequisites:
- A WordPress instance with PeepSo plugin version <= 6.4.6.0.
- No authentication required.
Exploitation Steps:
- Identify the target WordPress site.
- Send a GET request to the vulnerable endpoint:
GET /wp-content/plugins/peepso/sse.php HTTP/1.1 Host: target-site.com - Observe the response. If the plugin displays errors, the full path will be included in the response body or headers.
Example cURL command:
curl -v http://target-site.com/wp-content/plugins/peepso/sse.php
Expected output (partial):
HTTP/1.1 200 OK
...
Warning: require_once(/var/www/html/wp-content/plugins/peepso/sse.php): failed to open stream: No such file or directory in /var/www/html/wp-content/plugins/peepso/sse.php on line 10
Blue Team
Detection:
- Monitor web server logs for requests to
/wp-content/plugins/peepso/sse.phpfrom unauthenticated sources. - Look for error messages containing filesystem paths in responses.
Hunting Query (Splunk):
index=web sourcetype=access_combined uri="/wp-content/plugins/peepso/sse.php" status=200
Prevention:
- Implement a Web Application Firewall (WAF) rule to block direct access to
sse.php. - Disable PHP error display in production (
display_errors = Offin php.ini). - Use a security plugin to restrict direct access to plugin files.
Indicators of Compromise (IOCs)
- File Path:
/wp-content/plugins/peepso/sse.php - HTTP Request Pattern:
GET /wp-content/plugins/peepso/sse.php - Response Pattern: PHP warnings/errors containing filesystem paths (e.g.,
/var/www/html/...) - Log Entry:
"GET /wp-content/plugins/peepso/sse.php HTTP/1.1" 200
Detection Engineering
YARA Rule
rule CVE_2024_7426_PeepSo_Path_Disclosure {
meta:
description = "Detects PeepSo plugin sse.php file with potential path disclosure"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-7426"
strings:
$sse_file = "sse.php"
$path_pattern = /\/var\/www\/[a-zA-Z0-9\/_\-]+/
$error_pattern = /Warning:|Fatal error:|Parse error:/
condition:
$sse_file and ($path_pattern or $error_pattern)
}
Sigma Rule
title: PeepSo Plugin Full Path Disclosure Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects attempts to exploit CVE-2024-7426 by accessing sse.php
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
c-uri|contains: '/wp-content/plugins/peepso/sse.php'
condition: selection
falsepositives:
- Legitimate plugin functionality (rare)
level: medium
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-7426 PeepSo Path Disclosure Attempt"; flow:to_server; content:"GET"; http_method; content:"/wp-content/plugins/peepso/sse.php"; http_uri; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable error display: Set
display_errors = Offinphp.inior via.htaccess:php_flag display_errors off - Block direct access: Add the following to
.htaccessin the PeepSo plugin directory:<Files "sse.php"> Require all denied </Files> - Update plugin: Monitor the PeepSo vendor for a patched version. If none is available, consider disabling the plugin until a fix is released.
Long-term Recommendations:
- Implement a Web Application Firewall (WAF) with virtual patching.
- Regularly audit WordPress plugins for vulnerabilities.
- Use a security plugin like Wordfence to block malicious requests.
Valters IT
Securing digital frontiers with precision and expertise.
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.