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

CVE-2025-7316 Remote Code Execution in Irfanview
📅 PUBLISHED: 2025-07-21 20:02 UTC 🔄 UPDATED: 2026-08-12 09:00 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-7316 is a critical memory corruption vulnerability in the IrfanView CADImage Plugin when parsing specially crafted DWG files. The flaw stems from insufficient 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 likelihood at this time.

⚡ 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 does not affect NPM, PyPI, Go, or Ruby packages. It is specific to the IrfanView CADImage Plugin, a third-party plugin for the IrfanView image viewer.

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 (victim must open a malicious file)
  • 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 resides in the CADImage Plugin's DWG file parser. DWG files are binary CAD drawing files. The plugin fails to properly validate the size or structure of certain data fields within the DWG file, leading to a buffer overflow or other memory corruption. An attacker can craft a DWG file with oversized or malformed data that, when parsed, overwrites adjacent memory regions. This can corrupt function pointers, return addresses, or other critical data structures, allowing the attacker to hijack execution flow.

Root Cause: Lack of bounds checking on user-supplied data during DWG parsing.

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

Impact: Successful exploitation grants the attacker code execution in the context of the IrfanView process, which typically runs with the user's privileges. This can lead to data theft, malware installation, or lateral movement.

Vulnerable vs. Patched Code

Since no patch is available, a comparison cannot be made. However, a secure implementation would include:

  • Vulnerable Code (Hypothetical):

    void parse_dwg_field(char *data, int size) {
        char buffer[256];
        memcpy(buffer, data, size); // No bounds check
    }
    
  • Patched Code (Hypothetical):

    void parse_dwg_field(char *data, int size) {
        char buffer[256];
        if (size > sizeof(buffer)) {
            // Handle error
            return;
        }
        memcpy(buffer, data, size);
    }
    

The patched version validates the size before copying, preventing buffer overflow.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • IrfanView with CADImage Plugin installed (any version).
  • A malicious DWG file crafted to trigger the vulnerability.

Steps:

  1. Craft Malicious DWG: Use a fuzzer or manual binary editing to create a DWG file with an oversized field (e.g., a long string in a text entity).
  2. Deliver Payload: Host the file on a website or send via email.
  3. Trigger: Victim opens the file with IrfanView.
  4. Exploit: The memory corruption overwrites a return address or function pointer, redirecting execution to shellcode embedded in the DWG file.

Example (Conceptual):

# Python script to generate a malicious DWG (simplified)
import struct

def create_malicious_dwg():
    # DWG header (simplified)
    header = b'\x41\x43\x31\x30'  # AC1015
    # Oversized field
    payload = b'A' * 300  # Trigger overflow
    # Shellcode placeholder
    shellcode = b'\x90' * 100 + b'\xcc'  # NOP sled + INT3
    return header + payload + shellcode

with open('malicious.dwg', 'wb') as f:
    f.write(create_malicious_dwg())

Note: No public exploit code exists; this is a conceptual example.

Blue Team (Defensive)

Detection:

  • Monitor for IrfanView crashes (Event ID 1000 in Windows Application log).
  • Use file reputation services to flag unknown DWG files.
  • Deploy endpoint detection and response (EDR) to detect memory corruption patterns.

Prevention:

  • Disable the CADImage Plugin if not needed.
  • Use application whitelisting to block IrfanView from executing untrusted files.
  • Implement ASLR and DEP to mitigate exploitation.

Hunting:

  • Search for DWG files with unusually large sizes or anomalous structures.
  • Analyze process memory dumps for signs of heap spray or ROP chains.

Indicators of Compromise (IOCs)

  • File Hashes: None available (no known samples).
  • Network Indicators: None (exploitation is local).
  • Process Behavior: IrfanView.exe crashes or exhibits abnormal memory access patterns.
  • Registry: No known persistence mechanisms.
  • YARA Rule: See Detection Engineering.

Detection Engineering

YARA Rule

rule CVE_2025_7316_DWG_Memory_Corruption {
    meta:
        description = "Detects malicious DWG files targeting CVE-2025-7316"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-7316"
    strings:
        $dwg_header = "AC10"  // DWG version header
        $long_field = /.{300,}/  // Suspiciously long field
    condition:
        $dwg_header at 0 and #long_field > 0
}

Sigma Rule

title: IrfanView CADImage Plugin Memory Corruption
id: 8f4c3b2a-1d5e-4f7c-9a8b-0c1d2e3f4a5b
status: experimental
description: Detects crashes or memory corruption events related to IrfanView DWG parsing
author: Valters IT
logsource:
    product: windows
    service: application
detection:
    selection:
        EventID: 1000
        ApplicationName: 'IrfanView.exe'
        FaultModuleName: 'CADImage.dll'
    condition: selection
falsepositives:
    - Legitimate crashes due to corrupted files
level: high

Suricata Rule

alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"CVE-2025-7316 Potential DWG Malware Delivery"; flow:to_client; file.magic:"DWG"; file.size:>1000000; 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 DWG files from untrusted sources via email and web gateways.
  3. Educate users not to open DWG files from unknown senders.

Long-Term:

  • Monitor vendor (Irfanview) for an official patch.
  • Consider using alternative CAD viewers that are actively maintained.
  • Implement application control to restrict IrfanView execution.

Workaround: If the plugin is required, run IrfanView in a sandboxed environment (e.g., Windows Sandbox, Sandboxie).


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
DWG file parsing IrfanView

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