Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious MP4 with undersized rtp atom
-
DeliveryDeliver file to victim application
-
ExploitReadHntiType offset subtraction underflows
-
ExecutionNear-2^64 allocation corrupts heap
-
ImpactCode execution or process crash
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a victim to open or process an attacker-supplied, specially crafted MP4 file with software linking mp4v2 2.0.0; the file must contain an undersized RTP ('rtp ') atom so that the hint-track code path (MP4RtpAtom::ReadHntiType) performs an offset subtraction that underflows past the atom boundary. Limiting factors: the attack is Local (the malicious file must reach and be parsed on the target system, not delivered over the network to a listening service), it depends on an application actually invoking mp4v2's RTP/hnti parsing, and it affects only the 2.0.0 code path prior to PR #100's position-vs-end bounds check. Despite the input vector's UI:N, realistic exploitation hinges on user/application action to process the file. |
| Impact | Signals are consistently moderate-to-low for mass exploitation risk. The CVSS base score of 7.8 (CVSS:3.1/AV:L/AC:L/PR:L/UI:N) is driven entirely by High C/I/A impact, not by ease of reach - the Local attack vector means an attacker cannot hit this remotely; a victim user or application must process an attacker-supplied file. EPSS reinforces this: 0.18% probability at the 7th percentile indicates very low predicted exploitation activity, and the CVE is NOT on the CISA KEV list, so there is no evidence of active exploitation. A GitHub gist is referenced alongside the issue and fix PR and almost certainly contains a crafted-MP4 reproducer, so publicly available exploit code exists - but this is proof-of-concept material, not confirmation of in-the-wild use. Two signals conflict with the stated vector and should be verified: (1) the input CVSS uses PR:L/UI:N, yet a file-parsing library bug realistically needs no privileges (PR:N) but DOES require the victim to open/process the file (UI:R) - the PR:L/UI:N combination does not match the described attack model; (2) the description claims 'arbitrary code execution,' but the root cause - an unchecked offset subtraction producing a near-2^64 allocation size - most plausibly results in an allocation failure and crash (DoS) rather than reliable RCE; genuine code execution would require the overflow to wrap to a small undersized buffer followed by an out-of-bounds write, which is not demonstrated in the provided data. Net: this is a legitimate but modest-priority memory-safety defect in a niche library, not an urgent internet-facing emergency. |
| Exploit ScenarioDerived | An attacker crafts a malicious MP4 file containing an undersized RTP ('rtp ') atom and delivers it to a victim who opens or processes it with an application built on mp4v2 2.0.0. During hint-track parsing, MP4RtpAtom::ReadHntiType() performs an unchecked offset subtraction that underflows to a near-2^64 size, triggering a massive allocation and memory corruption. A public gist reproducer appears to exist, lowering the effort to trigger the crash, though reliable arbitrary code execution is not independently confirmed. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
Arbitrary code execution in mp4v2 2.0.0 can be triggered when a victim or application opens a specially crafted MP4 file containing an undersized RTP ('rtp ') atom; MP4RtpAtom::ReadHntiType() performs an unchecked offset subtraction that underflows to a near-2^64 allocation size, leading to memory corruption and potential code execution. The assessed vector is local with user interaction required (CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H), so the malicious file must be parsed on the target system rather than delivered to a listening network service. No public exploit identified at time of analysis; EPSS is 0.18% (7th percentile), and the upstream fix is available as a PR/commit but no released patched version is independently confirmed.
RemediationAI
Upstream fix is available as PR/commit c7f4e1da1b75996a053b05b69be8e738bf77a26c from https://github.com/TechSmith/mp4v2/pull/100; no tagged vendor-released patched version is independently confirmed, so rebuild or upgrade to an mp4v2 build that includes the added GetPosition() >= GetEnd() bounds checks in src/atom_rtp.cpp and src/atom_sdp.cpp and track https://github.com/TechSmith/mp4v2/issues/98. If patching is not possible, disable or avoid RTP/hnti hint-track parsing for untrusted files where the application exposes such an option, accepting the loss of RTP hint metadata; otherwise process untrusted MP4s only in a sandboxed low-privilege process with no access to sensitive files, block automatic parsing of untrusted MP4 attachments or documents, and prefer tools that validate atom sizes before processing. Because exploitation requires local file processing with user/application interaction, reducing the set of applications that auto-open MP4s and restricting mp4v2-based services to non-sensitive accounts lowers exposure, but these are compensating controls rather than a substitute for the upstream code fix.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
mp4v2 is a C++ library for reading, writing, and manipulating MP4 container files using the ISO base media file format, in which metadata is organized as nested atoms. The vulnerable path is MP4RtpAtom::ReadHntiType() in src/atom_rtp.cpp, which processes RTP hint-track metadata and trusts atom size/position arithmetic. When an attacker supplies a deliberately undersized rtp atom, an unchecked offset subtraction underflows past the atom boundary, producing an allocation size near 2^64 rather than a small remaining length; this is classified as CWE-190 integer overflow or wraparound. The upstream patch adds a check that m_File.GetPosition() >= GetEnd() before continuing in both src/atom_rtp.cpp and src/atom_sdp.cpp, rejecting invalid atom sizes. Input CPE data is cpe:2.3:a:n/a:n/a:*:*:*:*:*:*:* and EUVD lists affected versions as n/a n/a, so exact downstream packages must be identified by dependency and SBOM analysis rather than by CPE matching.
Know when Mp4V2 gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
File-parsing library bug: attacker supplies a file (PR:N) that a victim app/user must process (UI:R), hence Local vector; impact set High per the claimed code-execution outcome.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
3DescriptionCVE.org
An issue in mp4v2 2.0.0 allows an attacker to execute arbitrary code via the MP4RtpAtom::ReadHntiType() in src/atom_rtp.cpp. A specially crafted MP4 file can cause an undersized rtp atom to produce a near-2^64 allocation size through an unchecked offset subtraction
Executive ViewAI
mp4v2 2.0.0, an MP4 parsing library embedded in media players, transcoding pipelines, and content-inspection tooling, contains a memory-corruption flaw that lets a crafted MP4 file execute arbitrary code on the machine that opens it. Exposure is concentrated in media-handling workflows - end-user playback, content ingest, transcoding, and malware/attachment scanning - rather than internet-facing network services, and successful exploitation would grant the attacker the full privileges of the parsing process. With no vendor-released patch confirmed and no public exploit identified at time of analysis, leadership should treat this as a latent but serious code-execution risk requiring interim controls rather than emergency patching.
No vendor-released patch identified at time of analysis. Interim mitigations: rebuild mp4v2 2.0.0 from the upstream fix (PR/commit) until a released version is confirmed; process untrusted MP4 files only inside a sandboxed, least-privilege container without access to credentials or network file shares; deploy validated media sanitization/re-encoding to strip or normalize RTP ('rtp ') atoms before parsing; enable OS memory protections (ASLR/DEP); block or quarantine MP4 files from unverified external sources; and restrict parsing privileges so exploitation yields no administrative or lateral-movement capability.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
MP4NameFirstMatches in mp4util.cpp in MP4v2 2.0.0 mishandles substrings of atom names, leading to use of an inappropriat
A double free exists in the MP4StringProperty class in mp4property.cpp in MP4v2 2.0.0. Rated critical severity (CVSS 9.8
mp4v2 v2.1.3 was discovered to contain a memory leak via MP4File::ReadString() at mp4file_io.cpp. Rated high severity (C
mp4v2 v2.0.0 was discovered to contain a heap buffer overflow via the mp4v2::impl::MP4StringProperty::~MP4StringProperty
mp4v2 v2.0.0 was discovered to contain a heap buffer overflow via the MP4GetVideoProfileLevel function at /src/mp4.cpp.
In MP4v2 2.0.0, there is an integer overflow (with resultant memory corruption) when resizing MP4Array for the ftyp atom
In MP4v2 2.0.0, there is an integer underflow (with resultant memory corruption) when parsing MP4Atom in mp4atom.cpp. Ra
mp4v2 v2.1.2 was discovered to contain a memory leak via the class MP4BytesProperty. Rated medium severity (CVSS 6.5), t
The function MP4Free() in mp4property.cpp in libmp4v2 2.1.0 internally calls free() on a invalid pointer, raising a SIGA
mp4v2 v2.1.3 was discovered to contain a memory leak when a method calling MP4File::ReadBytes() had allocated memory but
mp4v2 v2.1.3 was discovered to contain a memory leak via MP4SdpAtom::Read() at atom_sdp.cpp. Rated medium severity (CVSS
A vulnerability was found in MP4v2 2.1.2. Rated medium severity (CVSS 5.5), this vulnerability is low attack complexity.
EUVD-2026-98805
GHSA-6cvh-jwvc-xjw2
NVD
CVE.org
EPSS
Exploit-DB