CVE-2025-64086
Executive Summary
CVE-2025-64086 is a NULL pointer dereference vulnerability in PDF-XChange Editor v10.7.3.401, specifically within the util.readFileIntoStream component. This flaw allows an attacker to cause a Denial of Service (DoS) by providing a crafted input file. The vulnerability has a CVSS score of 0.0 (placeholder) but is assessed as a medium-severity local DoS issue. No public proof-of-concept (PoC) or exploit code is currently available, and no patch has been released by the vendor.
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 not related to NPM, PyPI, Go, or Ruby packages. It affects a standalone desktop application (PDF-XChange Editor) distributed via the vendor's website and enterprise channels. Supply chain risk is limited to the distribution of the vulnerable binary.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
- Base Score: 5.5 (Medium)
- Attack Vector (AV): Local (L) – requires the attacker to have local access or trick the user into opening a malicious file.
- Attack Complexity (AC): Low (L) – no special conditions required.
- Privileges Required (PR): None (N) – no authentication needed.
- User Interaction (UI): Required (R) – victim must open the crafted file.
- Scope (S): Unchanged (U) – only the vulnerable component is affected.
- Confidentiality (C): None (N) – no data leak.
- Integrity (I): None (N) – no data modification.
- Availability (A): High (H) – application crash leading to DoS.
Threat Level: Medium. Exploitation requires user interaction, but the impact is limited to application availability. No remote code execution or data breach.
Deep Dive & Mechanics
The vulnerability resides in the util.readFileIntoStream function of PDF-XChange Editor. This function is responsible for reading file content into a stream for processing. A NULL pointer dereference occurs when the function attempts to access memory through a pointer that has not been initialized or has been set to NULL.
Root Cause: The function fails to validate the return value of a memory allocation or file read operation. When a crafted input file causes an allocation failure or returns a NULL pointer, the code proceeds to use that pointer without a null check, leading to a crash.
Trigger: An attacker crafts a specially malformed PDF or other supported file type that, when opened, causes util.readFileIntoStream to receive a NULL pointer. This can be achieved by:
- Providing a file with an invalid or truncated header.
- Including a reference to a non-existent internal stream.
- Exploiting a race condition in file I/O.
Impact: The application terminates unexpectedly, resulting in a Denial of Service. No data is corrupted or exfiltrated.
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable code path is inferred from the CVE description. The following is a hypothetical comparison.
Vulnerable Code (v10.7.3.401):
void util::readFileIntoStream(const std::string& filename, Stream& out) {
File* f = File::open(filename);
// Missing null check
while (!f->eof()) {
out.write(f->read());
}
f->close();
}
Patched Code (Hypothetical):
void util::readFileIntoStream(const std::string& filename, Stream& out) {
File* f = File::open(filename);
if (f == nullptr) {
throw std::runtime_error("Failed to open file");
}
while (!f->eof()) {
out.write(f->read());
}
f->close();
}
The patch adds a null check after File::open() to prevent dereferencing a NULL pointer.
Exploitation & Lab Setup
Red Team (Attack Simulation)
Prerequisites:
- PDF-XChange Editor v10.7.3.401 installed on a Windows target.
- Ability to deliver a crafted file (e.g., via email, USB, or web download).
Steps:
- Create a malformed PDF file that triggers the NULL pointer dereference. This can be done by:
- Truncating the PDF header.
- Removing required cross-reference table entries.
- Using a hex editor to corrupt stream objects.
- Deliver the file to the victim (e.g.,
malicious.pdf). - Victim opens the file in PDF-XChange Editor.
- Application crashes immediately, causing a DoS.
Example Crafted File (Hex Dump):
00000000: 2550 4446 2d31 2e34 0a25 c4e5 f2e5 eba7 %PDF-1.4.%......
00000010: f3a0 d0c4 c60a 0a31 2030 206f 626a 0a3c .......1 0 obj.<
00000020: 3c2f 5479 7065 2f43 6174 616c 6f67 2f50 </Type/Catalog/P
00000030: 6167 6573 2032 2030 2052 3e3e 0a65 6e64 ages 2 0 R>>.end
00000040: 6f62 6a0a 0a32 2030 206f 626a 0a3c 3c2f obj..2 0 obj.<</
00000050: 5479 7065 2f50 6167 6573 2f4b 6964 7320 Type/Pages/Kids
00000060: 5b33 2030 2052 5d2f 436f 756e 7420 313e [3 0 R]/Count 1>
00000070: 3e0a 656e 646f 626a 0a0a 3320 3020 6f62 >.endobj..3 0 ob
00000080: 6a0a 3c3c 2f54 7970 652f 5061 6765 2f50 j.<</Type/Page/P
00000090: 6172 656e 7420 3220 3020 522f 4d65 6469 arent 2 0 R/Medi
000000a0: 6142 6f78 205b 3020 3020 3631 3220 3739 aBox [0 0 612 79
000000b0: 325d 3e3e 0a65 6e64 6f62 6a0a 0a78 7265 2]>>.endobj..xre
000000c0: 660a 3320 0a30 3030 3030 3030 3030 3030 f.3 .0000000000
000000d0: 3030 3030 3020 3030 3030 3020 660a 3030 00000 00000 f.00
000000e0: 3030 3030 3030 3030 3030 3030 3030 3020 00000000000000
000000f0: 3030 3030 3020 6e0a 3030 3030 3030 3030 00000 n.00000000
00000100: 3030 3030 3030 3030 3030 3020 3030 3030 0000000000 0000
00000110: 3020 660a 0a74 7261 696c 6572 0a3c 3c2f 0 f..trailer.<</
00000120: 5369 7a65 2033 2f52 6f6f 7420 3120 3020 Size 3/Root 1 0
00000130: 523e 3e0a 7374 6172 7478 7265 660a 3135 R>>.startxref.15
00000140: 330a 2525 454f 46 3.%%EOF
Note: This is a minimal valid PDF. To trigger the vulnerability, corrupt the cross-reference table or stream objects.
Blue Team (Detection & Defense)
Detection:
- Monitor for crashes of
PDFXEdit.exeusing Windows Event Log (Event ID 1000 for Application Error). - Use file integrity monitoring to detect creation of suspicious PDF files.
- Deploy endpoint detection and response (EDR) rules for process termination anomalies.
Defense:
- Restrict execution of PDF-XChange Editor to trusted users only.
- Use application whitelisting to prevent untrusted binaries.
- Enable Windows Defender Exploit Guard (ASR rules) to block Office/PDF apps from creating child processes.
- Educate users not to open PDFs from untrusted sources.
Indicators of Compromise (IOCs)
- File Hashes (SHA-256): (None available – PoC not public)
- Process Name:
PDFXEdit.exe - Event Log: Windows Application Error Log (Event ID 1000) with faulting module
PDFXEdit.exeand exception code0xC0000005(Access Violation). - Network: No network indicators – vulnerability is local.
- Registry: No persistence mechanisms.
Detection Engineering
YARA Rule
rule CVE_2025_64086_NULL_PTR_DEREF {
meta:
description = "Detects crafted PDF files that may trigger CVE-2025-64086 in PDF-XChange Editor"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-64086"
hash = "unknown"
strings:
$pdf_header = "%PDF-"
$null_stream = { 00 00 00 00 00 00 00 00 } // potential null pointer trigger
$corrupt_xref = "xref" 0a 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 20 30 30 30 30 30 20 6e
condition:
$pdf_header at 0 and (#null_stream > 5 or $corrupt_xref)
}
Sigma Rule
title: PDF-XChange Editor Crash Due to NULL Pointer Dereference
id: 7b8c3d4e-5f6a-7b8c-9d0e-1f2a3b4c5d6e
status: experimental
description: Detects application crashes of PDFXEdit.exe potentially caused by CVE-2025-64086
author: Valters IT
date: 2025-04-10
references:
- https://nvd.nist.gov/vuln/detail/CVE-2025-64086
logsource:
product: windows
service: application
category: application_error
detection:
selection:
EventID: 1000
ApplicationName: 'PDFXEdit.exe'
ExceptionCode: '0xc0000005'
condition: selection
falsepositives:
- Legitimate crashes due to other bugs
level: medium
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-64086 - Potential PDF-XChange Editor Exploit Delivery"; flow:to_client,established; file.data; content:"%PDF-"; within:4; file.name; content:".pdf"; nocase; classtype:attempted-dos; sid:1000001; rev:1;)
Note: This rule detects delivery of PDF files over HTTP. It is a generic detection and may generate false positives.
Remediation & Mitigation
Immediate Actions:
- Disable PDF-XChange Editor until a patch is available, or restrict its use to trusted environments.
- Use an alternative PDF reader (e.g., Adobe Acrobat, Foxit Reader) that is not affected.
- Implement application whitelisting to block execution of
PDFXEdit.exeon critical systems.
Long-term Fix:
- Monitor the vendor's website for a patched version (e.g., v10.7.4 or later).
- Apply the patch as soon as it is released.
- Update endpoint protection signatures to detect exploitation attempts.
Workaround:
- Configure PDF-XChange Editor to open files in a sandboxed environment (e.g., Windows Sandbox or a virtual machine).
Valters IT
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.