Heap-buffer-overflow read in FFmpeg DHAV get_duration
Key facts
- Attack vector
- Adjacent network
- Privileges required
- Low
- User interaction
- Passive
- Attack complexity
- High
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- Low · High · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
When parsing the header for a DHAV file, there's an integer underflow in offset calculation that leads to reading the duration from before the start of the allocated buffer. If we load a DHAV file that is larger than MAX_DURATION_BUFFER_SIZE bytes (0x100000) for example 0x101000 bytes, then at [0] we have size = 0x101000. At [1] we have end_buffer_size = 0x100000, and at [2] we have end_buffer_pos = 0x1000. The loop then scans backwards through the buffer looking for the dhav tag; when it is found, we'll calculate end_pos based on a 32-bit offset read from the buffer. There is subsequently a check [3] that end_pos is within the section of the file that has been copied into end_buffer, but it only correctly handles the cases where end_pos is before the start of the file or after the section copied into end_buffer, and not the case where end_pos is within the the file, but before the section copied into end_buffer. If we provide such an offset, (end_pos - end_buffer_pos) can underflow, resulting in the subsequent access at [4] occurring before the beginning of the allocation. We recommend upgrading to version 8.0 or beyond.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA FFmpeg (FFmpeg) Fixed in 8.0
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
FFmpeg 8.0
6 records Highest priority Priority LOW 6 LOW
Other records, highest priority first
- TI-2025-37186 Heap-buffer-overflow write in FFmpeg SANM process_ftchPriority LOW 39
- TI-2025-37185 Heap-buffer-overflow write in FFmpeg EXR dwa_uncompressPriority LOW 39
- TI-2025-37184 Heap-buffer-overflow write in FFmpeg EXR dwa_uncompressPriority LOW 39
Vendor assessments
Timeline
- 2026-10-02 Threatist record created from CVE-2025-59729
- 2026-10-03 Alias added: GHSA-j8h4-v947-5h7q
References
More FFmpeg vulnerabilities
- TI-2025-19015 FFmpeg git-master before commit d5873b was discovered to contain a memory leak in the component libavutil/iamf.c. CVSS 3.1HIGH 8.8
- TI-2024-21238 FFmpeg 7.0 contains a heap-buffer-overflow at libavfilter/vf_tiltandshift.c:189:5 in copy_column. CVSS 3.1HIGH 8.4
- TI-2023-06050 Ffmpeg: null pointer dereference in ffmpeg hls parsing CVSS 3.1HIGH 7.5
- TI-2023-28420 Buffer Overflow vulnerability in Ffmpeg v.N113007-g8d24a28d06 allows a local attacker to… CVSS 3.1HIGH 8.0
- TI-2023-27357 FFmpeg v.n6.1-3-g466799d4f5 allows a heap-based buffer overflow via the… CVSS 3.1HIGH 8.0
- TI-2023-27044 Buffer Overflow vulnerability in FFmpeg version n6.1-3-g466799d4f5, allows a local… CVSS 3.1HIGH 8.0
Sources
- CVE-2025-59729 · CVE Program
- CVE-2025-59729 · NVD
- FIRST EPSS
- GHSA-j8h4-v947-5h7q · GitHub Advisory Database · CC BY 4.0
- CVE-2025-59729 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences