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

CVE-2025-6654

CVE-2025-6654 Remote Code Execution in Pdf-xchange
📅 PUBLISHED: 2025-06-25 21:42 UTC 🔄 UPDATED: 2026-08-12 09:00 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.25%
👁️
0.25% probability
6.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1203
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 7.8
AV: L Attack Vector Local
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
7.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-6654 is a critical out-of-bounds write vulnerability in PDF-XChange Editor, specifically during the parsing of PRC files. The flaw allows remote code execution (RCE) in the context of the current process, requiring user interaction (opening a malicious file or visiting a malicious page). With a CVSS score of 7.8, the vulnerability is severe but not remotely exploitable without user action. No public proof-of-concept (PoC) or exploit code has been released, and no official patch is available. The EPSS score is 0.0%, indicating low exploitation likelihood currently, but the risk remains high due to the potential for weaponization.

⚡ 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

CVSS Breakdown & Threat Level

  • CVSS Score: 7.8 (High)
  • Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
  • Attack Vector: Local (requires user to open a malicious file)
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required
  • Scope: Unchanged
  • Confidentiality Impact: High
  • Integrity Impact: High
  • Availability Impact: High

Threat Level: High. Although no active exploitation has been reported, the vulnerability allows full compromise of the affected system with minimal user interaction.

Deep Dive & Mechanics

The vulnerability resides in the PRC file parsing module of PDF-XChange Editor. PRC (Product Representation Compact) files are used for 3D model data within PDF documents. The specific flaw is a classic out-of-bounds write (CWE-787) caused by insufficient validation of user-supplied data. When the parser processes a crafted PRC file, it writes data beyond the allocated buffer boundary, corrupting adjacent memory. An attacker can leverage this to overwrite critical data structures, such as function pointers or return addresses, leading to arbitrary code execution.

The attack vector is local, requiring the victim to open a malicious PRC file (e.g., via email attachment or web download). The code executes with the privileges of the current user, meaning full system compromise is possible if the user has administrative rights.

Vulnerable vs. Patched Code

Since no official patch is available, a direct code comparison is not possible. However, the vulnerable code likely involves a buffer allocation and a subsequent copy operation without proper bounds checking. A patched version would include validation of the input size before copying, or use safe functions like memcpy_s or std::vector::push_back with bounds checks.

Vulnerable (pseudocode):

char* buffer = malloc(size);
memcpy(buffer, user_data, user_data_size); // No check if user_data_size > size

Patched (pseudocode):

char* buffer = malloc(size);
if (user_data_size > size) {
    // Handle error
    return;
}
memcpy(buffer, user_data, user_data_size);

Exploitation & Lab Setup

Red Team

Objective: Achieve remote code execution on a target running PDF-XChange Editor.

Prerequisites:

  • A crafted PRC file that triggers the out-of-bounds write.
  • User interaction (victim opens the file).

Steps:

  1. Craft the malicious PRC file: Use a fuzzer or manual analysis to identify the exact offset and data that overwrites a critical pointer (e.g., a function pointer in the vtable).
  2. Deliver the file: Use social engineering (e.g., phishing email with attachment) or host it on a malicious website.
  3. Execute: When the victim opens the file in PDF-XChange Editor, the exploit triggers, executing shellcode.

Example exploit structure (conceptual):

# Pseudocode for crafting the PRC file
import struct

# Buffer overflow payload
payload = b"A" * 1000  # Fill buffer
payload += struct.pack("<I", 0xdeadbeef)  # Overwrite return address
# Add shellcode
payload += b"\x90" * 100  # NOP sled
payload += shellcode

# Write to file
with open("malicious.prc", "wb") as f:
    f.write(payload)

Blue Team

Detection:

  • Monitor for unusual PDF-XChange Editor crashes or memory access violations.
  • Use endpoint detection and response (EDR) to detect anomalous process behavior (e.g., pdfxedit.exe spawning cmd.exe or making network connections).
  • Deploy file reputation services to block known malicious PRC files.

Hunting:

  • Search for PRC files with unusually large sizes or suspicious headers.
  • Analyze crash dumps for signs of heap corruption or out-of-bounds writes.

Indicators of Compromise (IOCs)

  • File Hashes: (None available publicly; generate upon discovery)
  • Process Names: pdfxedit.exe
  • Network Indicators: Outbound connections from pdfxedit.exe to unknown IPs (post-exploitation)
  • Registry Keys: (None specific)
  • YARA Rule: See Detection Engineering section.

Detection Engineering

YARA Rule

rule CVE_2025_6654_PRC_Exploit {
    meta:
        description = "Detects malicious PRC files targeting CVE-2025-6654"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-6654"
    strings:
        $prc_header = "PRC" ascii wide nocase
        $exploit_pattern = { 41 41 41 41 41 41 41 41 } // Example pattern
    condition:
        $prc_header at 0 and #exploit_pattern > 10
}

Sigma Rule

title: CVE-2025-6654 PDF-XChange Editor PRC Parsing Exploit
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects potential exploitation of CVE-2025-6654 via process crash or anomalous behavior
author: Valters IT
date: 2025-04-10
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\pdfxedit.exe'
        CommandLine|contains: '.prc'
    condition: selection
falsepositives:
    - Legitimate PRC file usage
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-6654 PDF-XChange Editor PRC Exploit"; flow:to_server,established; content:"PRC"; offset:0; depth:3; content:"|41 41 41 41|"; distance:0; within:100; classtype:attempted-user; sid:1000001; rev:1;)

Remediation & Mitigation

  • Immediate: Disable automatic opening of PRC files in PDF-XChange Editor. Use a different PDF viewer until a patch is available.
  • Short-term: Implement application whitelisting to prevent untrusted executables from running. Use endpoint protection with exploit prevention capabilities (e.g., ASLR, DEP).
  • Long-term: Monitor the vendor for a security patch. Apply it as soon as it becomes available. Consider using a sandbox for opening untrusted files.

Workaround: Convert PRC files to a safer format (e.g., PDF) before opening.


Valters IT

👁️ SHODAN DORKS (THREAT HUNTING)

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.

pdf-xchange editor prc
pdf-xchange editor cve-2025-6654

💣 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-6654/ · 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.