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

CVE-2025-7299 Remote Code Execution in Irfanview
📅 PUBLISHED: 2025-07-21 20:03 UTC 🔄 UPDATED: 2026-08-12 09:01 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-7299 is a critical memory corruption vulnerability in the IrfanView CADImage Plugin when parsing specially crafted DWG 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 (RCE) in the context of the current process. User interaction is required—the victim must open a malicious DWG file or visit a malicious page. The vulnerability has a CVSS score of 7.8 (High) and is currently unpatched. No public proof-of-concept (PoC) or exploit code has been released, and the EPSS score is 0.0%, indicating low exploitation activity in the wild.

⚡ 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 third-party plugin (CADImage Plugin) for IrfanView, a Windows-based image viewer. The plugin is distributed via the vendor’s website and is not part of any package manager.

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

Threat Level: High. Although no active exploitation has been observed, the lack of a patch and the potential for code execution make this a significant risk for users of IrfanView with the CADImage Plugin.

Deep Dive & Mechanics

The vulnerability exists in the CADImage Plugin’s handling of DWG files. DWG is a binary file format used for CAD drawings. The plugin fails to properly validate the size or structure of data read from the file, leading to a memory corruption (likely a buffer overflow or use-after-free). An attacker can craft a malicious DWG file that, when parsed, overwrites critical memory structures, allowing arbitrary code execution.

Root Cause: Lack of bounds checking or input validation in the parsing routine. The plugin trusts the file’s internal data lengths without verifying they fit within allocated buffers.

Attack Vector: The attacker delivers the malicious DWG file via email, download, or a compromised website. The victim must open the file with IrfanView (or the plugin’s viewer). No additional privileges are required.

Impact: Full compromise of the user’s session, including access to files, credentials, and the ability to install malware.

Vulnerable vs. Patched Code

Since no patch is available, a direct code comparison is not possible. However, based on the CWE-119 classification, the vulnerable code likely resembles:

// Vulnerable: No bounds check
void parse_dwg_data(char *buffer, size_t size) {
    char local_buf[256];
    memcpy(local_buf, buffer, size); // size can exceed 256
}

A patched version would include validation:

// Patched: Bounds check
void parse_dwg_data(char *buffer, size_t size) {
    char local_buf[256];
    if (size > sizeof(local_buf)) {
        // Handle error
        return;
    }
    memcpy(local_buf, buffer, size);
}

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • IrfanView with CADImage Plugin installed (any version)
  • A Windows VM for testing
  • Python 3.x with struct module for crafting DWG files

Steps:

  1. Craft a Malicious DWG File: Use a fuzzer or manual binary editing to create a DWG file with an oversized field in the header or entity section.
  2. Deliver the File: Host the file on a web server or send via email.
  3. Trigger the Vulnerability: Open the file in IrfanView. The plugin will parse the DWG, triggering the memory corruption.
  4. Achieve Code Execution: If the corruption is controlled, execute shellcode (e.g., a reverse shell).

Example Python script to generate a malformed DWG (conceptual):

import struct

def create_malicious_dwg():
    # Minimal DWG header (simplified)
    magic = b'AC1032'  # Version indicator
    # Craft a large size field to cause overflow
    large_size = 0xFFFFFFFF
    payload = magic + struct.pack('<I', large_size) + b'A' * 1000
    with open('malicious.dwg', 'wb') as f:
        f.write(payload)

create_malicious_dwg()

Note: This is a simplified example. Real exploitation requires precise knowledge of the plugin’s memory layout.

Blue Team (Defensive)

Detection:

  • Monitor for unusual IrfanView crashes or memory errors.
  • Use process monitoring tools (e.g., Sysmon) to detect child processes spawned by IrfanView.
  • Enable Windows Defender Exploit Guard to mitigate memory corruption.

Prevention:

  • Disable the CADImage Plugin if not needed.
  • Use application whitelisting to block IrfanView from executing untrusted scripts.
  • Educate users not to open DWG files from untrusted sources.

Indicators of Compromise (IOCs)

  • File Hashes: (No known samples yet; monitor for new DWG files with unusual sizes or structures)
  • Network: Outbound connections from IrfanView process (e.g., to attacker C2)
  • Process: IrfanView.exe spawning cmd.exe, powershell.exe, or other suspicious processes
  • Registry: Modifications to HKCU\Software\IrfanView or plugin settings
  • File System: Creation of .dll or .exe files in temporary directories

Detection Engineering

YARA Rule

rule CVE_2025_7299_DWG_Memory_Corruption {
    meta:
        description = "Detects malformed DWG files exploiting CVE-2025-7299"
        author = "Valters IT"
        date = "2025-01-01"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-7299"
    strings:
        $dwg_magic = "AC1032"  // Common DWG version header
        $large_size = { FF FF FF FF }  // Potential oversized field
    condition:
        $dwg_magic at 0 and $large_size
}

Sigma Rule

title: CVE-2025-7299 IrfanView CADImage Plugin Memory Corruption
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects exploitation attempts of CVE-2025-7299 via process anomalies
author: Valters IT
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\\IrfanView.exe'
        CommandLine|contains: '.dwg'
    condition: selection
falsepositives:
    - Legitimate DWG file openings
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"CVE-2025-7299 Potential DWG Download"; flow:to_server,established; content:"|2e 64 77 67|"; http_uri; nocase; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the CADImage Plugin in IrfanView (Options > PlugIns > Uncheck CADImage).
  2. Block DWG file downloads at the perimeter if not business-required.
  3. Apply Windows Exploit Protection (e.g., ForceASLR, DEP) to IrfanView.exe.

Long-Term:

  • Monitor the vendor’s website for a patch.
  • Consider using alternative CAD viewers that are actively maintained.
  • Implement strict file upload validation for DWG files.

Workaround: Convert DWG files to a safer format (e.g., PDF) before opening.


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.

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-7299/ · 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.