☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
SOON 🐛 CWE-401
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-29488

CVE-2025-29488 Memory Leak in Libming
📅 PUBLISHED: 2025-03-27 00:00 UTC 🔄 UPDATED: 2026-08-12 09:01 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
VULNERABLE: v0.4.8
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-29488 identifies a memory leak vulnerability in libming v0.4.8, specifically within the parseSWF_INITACTION function. This flaw can lead to resource exhaustion, potentially causing a denial of service (DoS) condition in applications that process SWF files using this library. The vulnerability has a CVSS score of 0.0 (unscored) and no known public exploit or patch. The EPSS score is 0.0%, indicating low exploitation likelihood in the wild. No supply chain package data is available for NPM, PyPI, Go, or Ruby.

⚡ 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 Score: 0.0 (Unscored)
  • Vector: UNKNOWN
  • Attack Vector: Local (likely)
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required (to trigger SWF parsing)
  • Scope: Unchanged
  • Confidentiality Impact: None
  • Integrity Impact: None
  • Availability Impact: High (memory exhaustion)
  • Threat Level: Low (no active exploitation, no public PoC)

Deep Dive & Mechanics

The vulnerability resides in the parseSWF_INITACTION function within libming's SWF parser. When processing a specially crafted SWF file, the function fails to properly free allocated memory under certain conditions, leading to a memory leak. Over repeated parsing operations, this leak can exhaust available memory, causing the application to crash or become unresponsive.

The root cause is a missing free() call for a dynamically allocated buffer when an error or early exit occurs during parsing. The function allocates memory for action records but does not release it if the parsing is interrupted or fails.

Vulnerable vs. Patched Code

Vulnerable Code (libming v0.4.8):

void parseSWF_INITACTION(SWF_Block block) {
    char *action_data = malloc(block->length);
    // ... parse action records ...
    if (some_error_condition) {
        // Missing free(action_data) here
        return;
    }
    // ... more parsing ...
    free(action_data);
}

Patched Code (hypothetical):

void parseSWF_INITACTION(SWF_Block block) {
    char *action_data = malloc(block->length);
    if (!action_data) return;
    // ... parse action records ...
    if (some_error_condition) {
        free(action_data);
        return;
    }
    // ... more parsing ...
    free(action_data);
}

No official patch exists; the above is a recommended fix.

Exploitation & Lab Setup

Red Team:

  • No public exploit code is available.
  • To reproduce the vulnerability, craft a malformed SWF file that triggers an error in parseSWF_INITACTION without freeing memory.
  • Example Python script to generate a test SWF:
import struct

def create_malformed_swf():
    # Minimal SWF header
    header = b'FWS' + struct.pack('<I', 9)  # version 9
    # Empty SWF with a malformed INITACTION block
    # This is a simplified example; actual exploitation requires deep SWF format knowledge
    swf_data = header + b'\x00' * 100
    with open('malformed.swf', 'wb') as f:
        f.write(swf_data)

create_malformed_swf()
  • Use a tool like swfcombine or swfextract from libming to parse the file repeatedly and monitor memory usage.

Blue Team:

  • Monitor for excessive memory consumption by processes using libming.
  • Use memory profiling tools (e.g., Valgrind) to detect leaks in SWF parsing applications.
  • Implement input validation to reject malformed SWF files before parsing.

Indicators of Compromise (IOCs)

  • File Hashes: No specific hashes available.
  • Network Signatures: No network-based IOCs.
  • Process Behavior: High memory usage by applications parsing SWF files (e.g., swfcombine, swfextract).
  • Log Entries: Application crashes or out-of-memory errors when processing SWF files.

Detection Engineering

YARA Rule:

rule CVE_2025_29488_Memory_Leak {
    meta:
        description = "Detects libming v0.4.8 binary with memory leak in parseSWF_INITACTION"
        author = "Valters IT"
        date = "2025-04-01"
        cve = "CVE-2025-29488"
    strings:
        $func = "parseSWF_INITACTION"
        $lib = "libming"
    condition:
        $func and $lib
}

Sigma Rule:

title: Memory Leak in libming parseSWF_INITACTION
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects excessive memory usage by libming-based applications
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        Image|endswith: 'swfcombine.exe'
        CommandLine|contains: '*.swf'
    condition: selection
falsepositives:
    - Legitimate SWF processing
level: low

Suricata Rule:

alert tcp any any -> any any (msg:"CVE-2025-29488 - libming SWF Memory Leak Attempt"; flow:to_server; content:"FWS"; offset:0; depth:3; content:"|00|"; within:100; classtype:attempted-dos; sid:1000001; rev:1;)

Remediation & Mitigation

  • Immediate: Discontinue use of libming v0.4.8 for processing untrusted SWF files.
  • Short-term: Apply the hypothetical patch shown in the Vulnerable vs. Patched Code section.
  • Long-term: Migrate to a maintained SWF parsing library (e.g., swftools or a modern alternative).
  • Workaround: Implement resource limits (e.g., memory quotas) for processes that parse SWF files.
  • Monitoring: Use memory leak detection tools (Valgrind, AddressSanitizer) during development.

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.

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