☠️
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-6651

CVE-2025-6651 Remote Code Execution in Pdf-xchange
📅 PUBLISHED: 2025-06-25 21:42 UTC 🔄 UPDATED: 2026-08-12 09:02 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-6651 is a critical out-of-bounds write vulnerability in PDF-XChange Editor, specifically during the parsing of JP2 (JPEG 2000) files. The flaw allows remote code execution 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, this vulnerability poses a significant risk to users of PDF-XChange Editor, as it can be exploited to gain full control of the affected system. No public exploit code or patch is currently available, but the vulnerability is confirmed by ZDI (ZDI-CAN-26713).

⚡ 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 not related to any open-source package manager (NPM, PyPI, Go, Ruby). It affects a proprietary desktop application (PDF-XChange Editor). No supply chain implications are present.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Local (AV:L) – Requires user to open a malicious file.
  • Attack Complexity (AC): Low (AC:L) – No special conditions needed.
  • Privileges Required (PR): None (PR:N) – No authentication needed.
  • User Interaction (UI): Required (UI:R) – Victim must open the file.
  • Scope (S): Unchanged (S:U) – Vulnerability affects only the vulnerable component.
  • Confidentiality (C): High (C:H) – Full data access possible.
  • Integrity (I): High (I:H) – Full data modification possible.
  • Availability (A): High (A:H) – Full denial of service or system compromise.

Threat Level: Critical. Exploitation can lead to complete system compromise with minimal user interaction.

Deep Dive & Mechanics

The vulnerability resides in the JP2 file parsing module of PDF-XChange Editor. JP2 files are JPEG 2000 image containers, often embedded in PDFs or opened directly. The specific flaw is an out-of-bounds write (CWE-787) caused by improper validation of user-supplied data during parsing. When a crafted JP2 file is processed, the parser writes data beyond the allocated buffer, corrupting adjacent memory. This can be leveraged by an attacker to overwrite critical data structures (e.g., function pointers, return addresses) and achieve arbitrary code execution.

Root Cause: Lack of bounds checking on a buffer write operation during JP2 parsing. The parser trusts attacker-controlled size fields without verifying they fit within the allocated buffer.

Attack Vector: Remote, via a malicious JP2 file delivered through email, web download, or embedded in a PDF. User must open the file with PDF-XChange Editor.

Impact: Full remote code execution in the context of the current user. If the user has administrative privileges, the attacker gains full system control.

Vulnerable vs. Patched Code

No official patch is available. The vulnerable code is in the JP2 parsing routine. A hypothetical patch would add bounds checking before buffer writes.

Vulnerable Code (Conceptual):

void parse_jp2_data(char *input, size_t input_size) {
    char *buffer = malloc(1024);
    size_t offset = 0;
    while (offset < input_size) {
        uint32_t chunk_size = *(uint32_t*)(input + offset);
        // No bounds check on chunk_size
        memcpy(buffer + offset, input + offset, chunk_size);
        offset += chunk_size;
    }
}

Patched Code (Conceptual):

void parse_jp2_data(char *input, size_t input_size) {
    char *buffer = malloc(1024);
    size_t offset = 0;
    while (offset < input_size) {
        uint32_t chunk_size = *(uint32_t*)(input + offset);
        if (chunk_size > 1024 - offset) {
            // Bounds check: reject oversized chunk
            break;
        }
        memcpy(buffer + offset, input + offset, chunk_size);
        offset += chunk_size;
    }
}

Exploitation & Lab Setup

Red Team (Exploitation)

No public exploit code is available. However, a proof-of-concept can be developed by crafting a JP2 file with an oversized chunk size field. The following steps outline the exploitation process:

  1. Craft Malicious JP2 File: Create a JP2 file with a manipulated chunk size field that exceeds the allocated buffer.
  2. Deliver Payload: Embed shellcode or ROP chain in the JP2 file to overwrite a return address or function pointer.
  3. Trigger Vulnerability: Victim opens the file in PDF-XChange Editor.
  4. Code Execution: The out-of-bounds write corrupts memory, leading to execution of attacker-controlled code.

Example JP2 Structure (Hex Dump):

00 00 00 0C 6A 50 20 20 0D 0A 87 0A 00 00 00 14 66 74 79 70 6A 70 32 20 00 00 00 00 6A 70 32 20

(Note: This is a placeholder; actual exploit requires precise memory layout.)

Blue Team (Defense)

  • User Awareness: Train users not to open JP2 files from untrusted sources.
  • Application Control: Use AppLocker or similar to restrict execution of PDF-XChange Editor if not needed.
  • Memory Protection: Enable ASLR, DEP, and CFG on the system.
  • Sandboxing: Run PDF-XChange Editor in a sandboxed environment (e.g., Windows Sandbox, Sandboxie).
  • Monitor for Anomalies: Use EDR to detect unusual memory writes or process crashes.

Indicators of Compromise (IOCs)

  • File Hashes (SHA256): (None available yet; will be generated when exploit is public)
  • Network Indicators: Outbound connections from PDF-XChange Editor to unknown IPs.
  • Process Indicators: PDFXEdit.exe crashing or exhibiting abnormal memory access patterns.
  • Registry Changes: Unauthorized modifications to HKEY_CURRENT_USER\Software\Tracker Software\PDFXChange.
  • File System: Creation of suspicious files in %TEMP% or %APPDATA%.

Detection Engineering

YARA Rule

rule CVE_2025_6651_JP2_OOBW {
    meta:
        description = "Detects malicious JP2 files exploiting CVE-2025-6651"
        author = "Valters IT"
        date = "2025-04-10"
        hash = "unknown"
    strings:
        $jp2_header = { 00 00 00 0C 6A 50 20 20 0D 0A 87 0A }
        $large_chunk = /[\x00\x00\x10\x00-\xFF\xFF\xFF\xFF]/  // Chunk size > 4096
    condition:
        $jp2_header at 0 and #large_chunk > 0
}

Sigma Rule

title: CVE-2025-6651 JP2 Parsing Out-of-Bounds Write
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects potential exploitation of CVE-2025-6651 via abnormal JP2 file access
author: Valters IT
logsource:
    category: file_event
    product: windows
detection:
    selection:
        Image|endswith: '\PDFXEdit.exe'
        TargetFilename|endswith: '.jp2'
    condition: selection
falsepositives:
    - Legitimate JP2 files opened by users
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-6651 JP2 Malicious File Download"; flow:to_server,established; file.data; content:"|00 00 00 0C 6A 50 20 20 0D 0A 87 0A|"; distance:0; within:12; file.name; content:".jp2"; nocase; classtype:attempted-user; sid:1000001; rev:1;)

Remediation & Mitigation

  • Immediate Action: Disable JP2 file association in PDF-XChange Editor or uninstall the software until a patch is released.
  • Vendor Contact: Monitor Tracker Software (PDF-XChange) for official updates.
  • Workaround: Use alternative PDF readers that do not support JP2 parsing or have proper bounds checking.
  • Long-term: Implement strict input validation and fuzzing for all file parsers in the software development lifecycle.

Valters IT
Securing Digital Frontiers

👁️ 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 jp2

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