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

CVE-2025-6646

CVE-2025-6646 Use After Free 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.12%
👁️
0.12% probability
2.9× 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 3.3
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: L Confidentiality Low
I: N Integrity None
A: N Availability None
3.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-6646 is a use-after-free vulnerability in PDF-XChange Editor, specifically within the parsing of U3D (Universal 3D) files. The flaw allows a remote attacker to disclose sensitive memory contents by convincing a user to open a malicious U3D file or visit a crafted web page. The vulnerability is classified as low severity (CVSS 3.3) due to the requirement for user interaction and the limited impact on confidentiality. No public proof-of-concept or exploit code has been released, and the vendor has not yet issued a patch.

⚡ 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 Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
  • Base Score: 3.3 (Low)
  • Attack Vector: Local (requires user to open a file)
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required
  • Scope: Unchanged
  • Confidentiality Impact: Low (information disclosure)
  • Integrity Impact: None
  • Availability Impact: None

The low score reflects the need for user interaction and the limited impact. However, the ZDI advisory notes that this vulnerability could be chained with other flaws to achieve arbitrary code execution, raising the effective risk.

Deep Dive & Mechanics

The vulnerability resides in the U3D file parser of PDF-XChange Editor. U3D files contain 3D model data, and the parser fails to validate the existence of an object before performing operations on it. When a specially crafted U3D file is processed, the parser accesses a freed memory region (use-after-free), leading to the disclosure of sensitive heap data. An attacker can leverage this information leak to bypass ASLR or other memory protections, potentially enabling code execution when combined with another vulnerability.

The flaw is triggered during the parsing of object references within the U3D file structure. The parser does not check if a referenced object has been deallocated, allowing the attacker to control the freed memory and read its contents.

Vulnerable vs. Patched Code

No patched version has been released. The vulnerable code is in the U3D parsing module of PDF-XChange Editor. A hypothetical fix would involve adding a null check or reference counting before accessing any object pointer:

Vulnerable (pseudo-code):

void parse_u3d_object(U3DObject *obj) {
    // No check if obj is valid
    process_object(obj->data);
}

Patched (pseudo-code):

void parse_u3d_object(U3DObject *obj) {
    if (obj == NULL || obj->ref_count == 0) {
        return; // or handle error
    }
    process_object(obj->data);
}

Exploitation & Lab Setup

Red Team

No public exploit code is available. To reproduce the vulnerability, an attacker would craft a U3D file that triggers a use-after-free condition. The following steps outline a potential approach:

  1. Create a U3D file with a malformed object reference that causes the parser to free an object prematurely.
  2. Allocate new data in the freed memory region to control its contents.
  3. Trigger the parser to read from the freed object, leaking the attacker-controlled data.

Example U3D file structure (conceptual):

# This is a conceptual representation, not a working exploit
import struct

def craft_u3d():
    # Create a U3D file with a dangling pointer
    header = b'\x00' * 16
    # Object A: allocate and free
    obj_a = struct.pack('<I', 0x100)  # size
    obj_a += b'A' * 0x100
    # Object B: reference to freed A
    obj_b = struct.pack('<I', 0x0)  # null pointer
    # Combine
    payload = header + obj_a + obj_b
    with open('malicious.u3d', 'wb') as f:
        f.write(payload)

Blue Team

To detect exploitation attempts:

  • Monitor for unusual U3D file downloads or attachments.
  • Use endpoint detection rules (see Detection Engineering) to alert on PDF-XChange Editor crashes or anomalous memory access patterns.
  • Enable application whitelisting to prevent untrusted executables from being launched.

Indicators of Compromise (IOCs)

  • File Hashes: No known malicious samples at this time.
  • Network Indicators: None specific; the attack is file-based.
  • Behavioral Indicators:
    • PDF-XChange Editor process (PDFXEdit.exe) crashes or exhibits unusual memory access.
    • Unexpected child processes spawned by PDFXEdit.exe.
    • High volume of heap allocation/deallocation events in the process.

Detection Engineering

YARA Rule

rule CVE_2025_6646_U3D_UseAfterFree {
    meta:
        description = "Detects U3D files potentially exploiting CVE-2025-6646"
        author = "Valters IT"
        date = "2025-04-01"
        reference = "CVE-2025-6646"
    strings:
        $u3d_magic = { 55 33 44 00 }  // U3D magic bytes
        $suspicious_size = { 00 00 00 00 }  // zero-size object
    condition:
        $u3d_magic at 0 and #suspicious_size > 0
}

Sigma Rule

title: CVE-2025-6646 PDF-XChange Editor U3D Use-After-Free
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects potential exploitation of CVE-2025-6646 via process crashes or memory access violations in PDF-XChange Editor.
author: Valters IT
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\PDFXEdit.exe'
        CommandLine|contains: '.u3d'
    condition: selection
falsepositives:
    - Legitimate U3D file processing
level: medium

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-6646 PDF-XChange Editor U3D File Download"; flow:to_client,established; file.name:/\.u3d$/i; classtype:attempted-user; sid:1000001; rev:1;)

Remediation & Mitigation

  • Vendor Patch: No patch available. Monitor PDF-XChange for updates.
  • Workarounds:
    • Disable U3D file parsing in PDF-XChange Editor if possible.
    • Use a different PDF viewer that does not support U3D.
    • Educate users not to open U3D files from untrusted sources.
  • Compensating Controls:
    • Deploy application control to block PDFXEdit.exe from executing untrusted scripts.
    • Enable ASLR and DEP system-wide.
    • Use endpoint detection and response (EDR) to monitor for exploitation behavior.

Valters IT
DevSecOps & Cyber Threat Intelligence

👁️ 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
pdf-xchange u3d

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