☠️
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-2023-51610

CVE-2023-51610 Use After Free in Kofax
📅 PUBLISHED: 2024-05-03 02:15 UTC 🔄 UPDATED: 2026-08-12 09:00 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.27%
👁️
0.27% probability
6.8× 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-2023-51610 is a use-after-free vulnerability in Kofax Power PDF’s JP2 file parsing engine. The flaw allows a remote attacker to disclose sensitive memory contents by tricking a user into opening a specially crafted JP2 file. While the CVSS score is low (3.3) due to the requirement for user interaction and limited impact on confidentiality, the vulnerability can be chained with other bugs to achieve arbitrary code execution. No public exploit code or patch is currently available, making this a latent risk for unpatched installations.

⚡ 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 malicious file)
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required
  • Scope: Unchanged
  • Confidentiality Impact: Low (information disclosure)
  • Integrity Impact: None
  • Availability Impact: None

Threat Level: Low (due to high user interaction requirement and limited direct impact). However, chaining with other vulnerabilities could elevate the risk.

Deep Dive & Mechanics

The vulnerability resides in the JP2 (JPEG 2000) file parser of Kofax Power PDF. When parsing a malformed JP2 file, the software fails to validate the existence of an object before performing operations on it. This leads to a use-after-free condition where memory is accessed after it has been freed, potentially leaking sensitive data from the heap.

Root Cause: Lack of proper object lifetime management in the JP2 parsing routine. The parser does not check if a referenced object is still valid before dereferencing it.

Attack Vector: An attacker crafts a malicious JP2 file and delivers it via email, web download, or other means. The victim must open the file with Kofax Power PDF. Upon parsing, the use-after-free triggers, allowing the attacker to read memory contents that may include credentials, document data, or other sensitive information.

Chaining Potential: The ZDI advisory notes that this flaw can be combined with other vulnerabilities to achieve arbitrary code execution, making it a stepping stone for more severe attacks.

Vulnerable vs. Patched Code

No official patch has been released. The vulnerable code is in the JP2 parsing module of Kofax Power PDF. A patched version would include a check for object validity before use, such as:

// Vulnerable code (pseudo)
void parseJP2Object(JP2Object* obj) {
    // Use obj without checking if it's still valid
    processObject(obj);
}

// Patched code (pseudo)
void parseJP2Object(JP2Object* obj) {
    if (obj == nullptr || !isObjectValid(obj)) {
        return; // or handle error
    }
    processObject(obj);
}

Without a patch, users must rely on mitigations like disabling JP2 support or using alternative PDF readers.

Exploitation & Lab Setup

Red Team

Objective: Exploit the use-after-free to leak memory and potentially chain with another vulnerability for code execution.

Lab Setup:

  • Windows 10/11 VM with Kofax Power PDF (vulnerable version)
  • Python 3.x with struct and os modules
  • Debugger (x64dbg or WinDbg) for analysis

Steps:

  1. Craft a malformed JP2 file that triggers the use-after-free. The file must contain a JP2 header with a corrupted object reference.
  2. Deliver the file to the victim (e.g., via email attachment).
  3. When the victim opens the file, the parser crashes or leaks memory.
  4. Use a debugger to capture the leaked data from the heap.

Example JP2 file structure (simplified):

import struct

def create_malicious_jp2():
    # Minimal JP2 header with invalid object reference
    jp2_data = b'\x00\x00\x00\x0c\x6a\x50\x20\x20\x0d\x0a\x87\x0a'
    jp2_data += b'\x00\x00\x00\x14\x66\x74\x79\x70\x6a\x70\x32\x20'
    jp2_data += b'\x00\x00\x00\x00\x6a\x70\x32\x20\x00\x00\x00\x00'
    # Add corrupted object box
    jp2_data += b'\x00\x00\x00\x10\x75\x75\x69\x64'  # UUID box
    jp2_data += b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'  # Invalid reference
    with open('malicious.jp2', 'wb') as f:
        f.write(jp2_data)

create_malicious_jp2()

Note: This is a conceptual example; actual exploitation requires reverse engineering the specific parser.

Blue Team

Detection:

  • Monitor for unusual JP2 file downloads or email attachments.
  • Use endpoint detection rules to flag Kofax Power PDF crashes or memory access violations.
  • Enable application whitelisting to block untrusted PDF readers.

Hunting:

  • Search for event logs indicating Kofax Power PDF crashes (Event ID 1000 in Windows Application logs).
  • Look for memory dumps or heap corruption indicators.

Indicators of Compromise (IOCs)

  • File Hashes: (None publicly available; generate on detection)
  • Network Indicators: None (local file-based)
  • Behavioral: Kofax Power PDF process (e.g., PowerPDF.exe) crashes or exhibits abnormal memory access patterns.
  • Registry: No known persistence mechanisms.

Detection Engineering

YARA Rule

rule CVE_2023_51610_JP2_UseAfterFree {
    meta:
        description = "Detects malformed JP2 files targeting CVE-2023-51610"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2023-51610"
    strings:
        $jp2_magic = { 00 00 00 0C 6A 50 20 20 0D 0A 87 0A }
        $uuid_box = { 00 00 00 10 75 75 69 64 }
        $invalid_ref = { 00 00 00 00 00 00 00 00 00 00 00 00 }
    condition:
        $jp2_magic at 0 and $uuid_box and $invalid_ref
}

Sigma Rule

title: CVE-2023-51610 Kofax Power PDF JP2 Parsing Use-After-Free
id: 8a9b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects Kofax Power PDF crashes potentially caused by CVE-2023-51610
author: Valters IT
date: 2025-04-10
logsource:
    product: windows
    service: application
detection:
    selection:
        EventID: 1000
        ApplicationName: 'PowerPDF.exe'
        FaultingModule: '*.dll'  # Adjust based on actual module
    condition: selection
falsepositives:
    - Legitimate crashes due to other bugs
level: medium

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2023-51610 Kofax Power PDF JP2 Malicious File Download"; flow:to_client,established; file.name:/.*\.jp2/i; content:"|00 00 00 0C 6A 50 20 20 0D 0A 87 0A|"; distance:0; within:12; classtype:attempted-user; sid:1000001; rev:1;)

Remediation & Mitigation

  • Patch: No official patch available. Monitor vendor for updates.
  • Workaround: Disable JP2 file support in Kofax Power PDF if possible, or use an alternative PDF reader.
  • User Training: Educate users not to open JP2 files from untrusted sources.
  • Endpoint Protection: Deploy YARA and Sigma rules to detect malicious JP2 files and crashes.
  • Network Controls: Block JP2 file downloads via email/web proxies if not business-required.

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.

Kofax Power PDF
JP2 parsing vulnerability
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2023-51610/ · 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.