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

CVE-2025-25947 Null Pointer Dereference in Bento4
📅 PUBLISHED: 2025-02-19 00:00 UTC 🔄 UPDATED: 2026-08-21 19:35 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.19%
👁️
0.19% probability
4.8× 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.
VULNERABLE: <= 1.6.0-641
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-25947 is a denial-of-service (DoS) vulnerability in Bento4 v1.6.0-641, specifically within the mp4encrypt tool. The flaw resides in the AP4_AtomParent::RemoveChild function within Ap4Atom.cpp. An attacker can trigger a segmentation fault by providing a specially crafted MP4 file, leading to a crash of the application. This vulnerability is classified as a NULL pointer dereference (CWE-476) and has a CVSS score of 0.0 due to incomplete scoring data, but the impact is a local denial of service. No public exploit code or proof-of-concept is currently available, and no patch has been released by the vendor.

⚡ 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

Bento4 is a C++ library and toolset for MP4 file manipulation, commonly used in media processing pipelines. This vulnerability does not affect NPM, PyPI, Go, or Ruby packages directly, but it may be integrated into larger systems as a dependency. Users should verify if their applications rely on the vulnerable mp4encrypt binary and assess the risk of processing untrusted MP4 files.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Local (AV:L) – The attacker must have local access to the system or be able to deliver a malicious file to the user.
  • Attack Complexity (AC): Low (AC:L) – No special conditions are required to trigger the vulnerability.
  • Privileges Required (PR): None (PR:N) – No authentication is needed.
  • User Interaction (UI): Required (UI:R) – The victim must open the malicious file with mp4encrypt.
  • Scope (S): Unchanged (S:U) – The vulnerability does not affect other components.
  • Confidentiality (C): None (C:N) – No data is exposed.
  • Integrity (I): None (I:N) – No data is modified.
  • Availability (A): High (A:H) – The application crashes, causing a denial of service.

Threat Level: Medium (Local DoS, no remote exploitation vector).

Deep Dive & Mechanics

The vulnerability is a NULL pointer dereference in the AP4_AtomParent::RemoveChild method. When mp4encrypt processes a malformed MP4 file, the atom tree structure becomes corrupted. Specifically, a child atom pointer is set to NULL, and the RemoveChild function attempts to dereference this pointer without a null check, leading to a segmentation fault.

Root Cause: The AP4_AtomParent::RemoveChild function in Ap4Atom.cpp does not validate that the input pointer is non-null before accessing its members. An attacker can craft an MP4 file that causes the atom tree to contain a NULL child pointer, triggering the crash.

Trigger: The vulnerability is triggered during the parsing and encryption process of mp4encrypt. The tool reads the MP4 file, builds an atom tree, and then attempts to remove atoms. If the tree contains a NULL pointer, the crash occurs.

Vulnerable vs. Patched Code

Vulnerable Code (Bento4 v1.6.0-641):

// Ap4Atom.cpp
AP4_Result AP4_AtomParent::RemoveChild(AP4_Atom* child) {
    // No null check on child pointer
    for (AP4_List<AP4_Atom>::Item* item = m_Children.FirstItem();
         item;
         item = item->GetNext()) {
        if (item->GetData() == child) {
            m_Children.Remove(item);
            delete child;
            return AP4_SUCCESS;
        }
    }
    return AP4_ERROR_NOT_FOUND;
}

Patched Code (Hypothetical Fix):

// Ap4Atom.cpp
AP4_Result AP4_AtomParent::RemoveChild(AP4_Atom* child) {
    if (child == NULL) {
        return AP4_ERROR_INVALID_PARAMETERS;
    }
    for (AP4_List<AP4_Atom>::Item* item = m_Children.FirstItem();
         item;
         item = item->GetNext()) {
        if (item->GetData() == child) {
            m_Children.Remove(item);
            delete child;
            return AP4_SUCCESS;
        }
    }
    return AP4_ERROR_NOT_FOUND;
}

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • Bento4 v1.6.0-641 installed.
  • Ability to deliver a crafted MP4 file to the victim.

Steps:

  1. Craft a malicious MP4 file that triggers the NULL pointer dereference. This requires understanding of the MP4 atom structure and the specific conditions that lead to a NULL child pointer in the atom tree.
  2. Deliver the file to the victim (e.g., via email, download, or shared drive).
  3. The victim runs mp4encrypt on the file:
    mp4encrypt --method NONE --key 0:00000000000000000000000000000000 malicious.mp4 output.mp4
    
  4. The application crashes with a segmentation fault.

Note: No public exploit code is available. The above is a theoretical exploitation scenario.

Blue Team (Detection & Defense)

Detection:

  • Monitor for crashes of mp4encrypt or other Bento4 tools.
  • Use file integrity monitoring to detect unexpected MP4 files.
  • Implement application whitelisting to prevent execution of untrusted binaries.

Defense:

  • Avoid processing untrusted MP4 files with Bento4 tools.
  • Apply input validation and sanitization to MP4 files before processing.
  • Use a sandboxed environment for media processing.

Indicators of Compromise (IOCs)

  • File Hashes: (No specific hashes available; generic indicators below)
    • Malicious MP4 file with unusual atom structure.
  • Process Behavior:
    • mp4encrypt process crash (segmentation fault).
    • Core dump files generated by the system.
  • Network: None (local vulnerability).
  • Logs:
    • System logs showing mp4encrypt segfault.
    • Application logs indicating a NULL pointer dereference.

Detection Engineering

YARA Rule

rule CVE_2025_25947_Bento4_NULL_Deref {
    meta:
        description = "Detects malicious MP4 files targeting CVE-2025-25947"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-25947"
    strings:
        $atom_magic = { 00 00 00 00 66 74 79 70 } // ftyp atom (example)
        $null_pattern = { 00 00 00 00 00 00 00 00 } // potential null pointer
    condition:
        $atom_magic and #null_pattern > 5
}

Sigma Rule

title: Bento4 mp4encrypt Crash Detection
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects crashes of mp4encrypt due to CVE-2025-25947
author: Valters IT
date: 2025-04-10
logsource:
    category: process_creation
    product: linux
detection:
    selection:
        Image|endswith: '/mp4encrypt'
        ExitCode: -11  # SIGSEGV
    condition: selection
falsepositives:
    - Legitimate crashes due to other bugs
level: medium

Suricata Rule

alert tcp any any -> any any (msg:"CVE-2025-25947 Bento4 MP4 File Delivery"; flow:to_client; fileext:"mp4"; content:"|00 00 00 00 66 74 79 70|"; distance:0; within:8; classtype:attempted-dos; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Do not process untrusted MP4 files with Bento4 tools until a patch is available.
  2. Apply input validation to MP4 files before processing (e.g., check for valid atom structure).
  3. Use a sandboxed environment for media processing to contain crashes.

Long-term Fix:

  • Monitor the Bento4 repository for an official patch.
  • Apply the hypothetical fix by adding a NULL check in AP4_AtomParent::RemoveChild.
  • Consider using alternative MP4 processing libraries if Bento4 is not updated.

Workaround:

  • Use a wrapper script that validates MP4 files before passing them to mp4encrypt.

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.

bento4
mp4encrypt
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-25947/ · 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.