☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Irfanview logo [ WEBSITE ] [ 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-119
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-7325

CVE-2025-7325 Remote Code Execution in Irfanview
📅 PUBLISHED: 2025-07-21 20:03 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.18%
👁️
0.18% probability
4.6× 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.
Country: Austria
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-7325 is a critical memory corruption vulnerability in the IrfanView CADImage Plugin when parsing specially crafted DXF files. The flaw stems from improper validation of user-supplied data, leading to a memory corruption condition that can be leveraged for remote code execution in the context of the current process. User interaction is required—the victim must open a malicious DXF file or visit a malicious page. With a CVSS score of 7.8, this vulnerability poses a significant risk to systems using IrfanView for CAD file viewing. No public exploit or patch is currently available, but the risk is elevated due to the widespread use of DXF files in engineering and design workflows.

⚡ 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 NPM, PyPI, Go, or Ruby ecosystems. It affects a standalone Windows desktop application (IrfanView) and its plugin. No supply chain package security implications apply.

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

Threat Level: High. Exploitation could lead to full compromise of the user's system, including data theft, malware installation, or ransomware deployment.

Deep Dive & Mechanics

The vulnerability resides in the CADImage plugin (CADImage.dll) used by IrfanView to parse DXF files. DXF (Drawing Exchange Format) is a CAD data file format developed by Autodesk for enabling data interoperability between AutoCAD and other programs.

Root Cause: The plugin fails to properly validate the length or structure of data blocks within a DXF file. When parsing a crafted DXF, the plugin reads beyond allocated buffer boundaries, causing a memory corruption (likely a heap-based buffer overflow or use-after-free). This corruption can be exploited to overwrite critical data structures, such as function pointers or return addresses, leading to arbitrary code execution.

Attack Vector: An attacker crafts a malicious DXF file containing oversized or malformed data in specific sections (e.g., ENTITIES, BLOCKS, or TABLES). The file is delivered via email, download, or a malicious website. When the victim opens the file with IrfanView, the plugin processes the malformed data, triggering the memory corruption.

Impact: Successful exploitation allows the attacker to execute arbitrary code with the privileges of the current user. This can lead to full system compromise, data exfiltration, or lateral movement within a network.

Vulnerable vs. Patched Code

Since no patch is available, a direct code comparison is not possible. However, based on the vulnerability description, the vulnerable code likely resembles:

// Vulnerable: No bounds checking on data length
void ParseDXFEntity(char *buffer, int size) {
    char entityData[256];
    memcpy(entityData, buffer, size); // size can be > 256
}

A patched version would include proper validation:

// Patched: Bounds checking
void ParseDXFEntity(char *buffer, int size) {
    char entityData[256];
    if (size > sizeof(entityData)) {
        // Handle error or truncate
        return;
    }
    memcpy(entityData, buffer, size);
}

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • IrfanView with CADImage Plugin installed (any version)
  • A Windows test environment (VM recommended)
  • Python 3.x for crafting the malicious DXF file

Steps:

  1. Craft a Malicious DXF File: Create a Python script to generate a DXF file with an oversized ENTITIES section:

    # exploit_dxf.py
    import struct
    
    def create_malicious_dxf():
        # DXF header
        dxf = b"0\nSECTION\n2\nENTITIES\n0\nLINE\n"
        # Craft a large data block to trigger overflow
        payload = b"A" * 1000  # Adjust size based on testing
        dxf += b"8\n" + payload + b"\n0\nENDSEC\n0\nEOF\n"
        with open("malicious.dxf", "wb") as f:
            f.write(dxf)
    
    if __name__ == "__main__":
        create_malicious_dxf()
    
  2. Deliver the File:

    • Email the malicious DXF to the target.
    • Host it on a website and trick the user into downloading.
  3. Trigger the Vulnerability:

    • The victim opens the DXF file with IrfanView.
    • The plugin crashes or executes shellcode embedded in the payload.

Note: No public exploit code is available. The above is a conceptual example.

Blue Team (Defensive)

Detection:

  • Monitor for unusual IrfanView crashes or memory errors.
  • Use endpoint detection and response (EDR) tools to detect anomalous process behavior.
  • Deploy file integrity monitoring for DXF files.

Prevention:

  • Block DXF files at email gateways unless absolutely necessary.
  • Use application whitelisting to prevent IrfanView from executing.
  • Implement user awareness training to avoid opening untrusted DXF files.

Hunting:

  • Search for DXF files with unusually large sizes or malformed headers.
  • Analyze crash dumps for signs of heap corruption.

Indicators of Compromise (IOCs)

  • File Hashes (SHA256): (None available; will be generated upon exploit creation)
  • Network Indicators: None specific; delivery via email or web.
  • Process Anomalies: IrfanView.exe crashes with memory access violations.
  • Registry Changes: Potential persistence via Run keys if exploit installs malware.
  • File Artifacts: Malicious DXF files with oversized data blocks.

Detection Engineering

YARA Rule

rule CVE_2025_7325_DXF_Memory_Corruption {
    meta:
        description = "Detects malicious DXF files targeting IrfanView CADImage Plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-7325"
    strings:
        $dxf_header = "0\nSECTION\n2\nENTITIES\n0\nLINE\n"
        $large_block = /8\n[A-Z]{500,}\n/  // Overly large data block
    condition:
        $dxf_header and $large_block
}

Sigma Rule

title: IrfanView CADImage Plugin DXF Memory Corruption
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects exploitation attempts of CVE-2025-7325 via process crashes or memory errors
author: Valters IT
date: 2025-04-10
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\IrfanView.exe'
        CommandLine|contains: '.dxf'
    condition: selection
falsepositives:
    - Legitimate DXF file parsing
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-7325 DXF File Download"; flow:to_client,established; file.name:/\.dxf$/i; file.size:>500000; classtype:attempted-user; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the CADImage Plugin in IrfanView until a patch is released.
  2. Block DXF files at email gateways and web proxies.
  3. Educate users not to open DXF files from untrusted sources.

Long-term Solutions:

  • Monitor the vendor's website for a patch.
  • Consider using alternative CAD viewers that are actively maintained.
  • Implement application sandboxing to limit the impact of exploitation.

Workarounds:

  • Use a dedicated, isolated virtual machine for viewing untrusted DXF files.
  • Convert DXF files to a safer format (e.g., PDF) before viewing.

Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert

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

dxf filetype:dxf
irfanview cadimage plugin

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