Executive brief
GPAC is an open-source multimedia framework used to process and playback digital media files, including broadcast video streams. An integer underflow vulnerability in its DVB-MPE component allows a malicious media file to trigger a memory allocation failure, crashing the application and causing a denial of service. The vulnerability affects versions prior to the patched commit and can be triggered by opening a specially crafted video file.
Technical details
The vulnerability is an integer underflow in dvb_mpe.c affecting the descriptorTime_slice_fec_identifier() and gf_m2ts_ipdatagram_reader() functions. When parsing crafted DVB INT table descriptors or UDP datagram sections, an 8-bit or 32-bit size value is subtracted without validation, causing wrap-around when the value is smaller than the subtraction amount (e.g., 1 - 3 wraps to 0xFFFFFFFFFFFFFFFE). This causes gf_malloc() to be called with an impossibly large allocation size, which fails and crashes the process. The attack is triggered by crafting a malicious Transport Stream (TS) file with a time_slice_fec descriptor (tag 0x77) of length 1 byte. No authentication or user interaction beyond opening the file is required; the vulnerability is not believed to be exploitable for code execution, only denial of service. A fix is available in commit 0e4093392e1f847c90d20e031e893cd942fef938, which adds bounds checks before the subtraction operations.
Affected products
- GPAC GPAC prior to 0e4093392e1f847c90d20e031e893cd942fef938 (c2dee3aff638cd96f9617ac5b17dc2868cd90ef3 and earlier)
Timeline
- 2026-06-11: disclosed: Vulnerability reported via GitHub issue #3614
- 2026-09-09: patched: Fix merged in commit 0e4093392e1f847c90d20e031e893cd942fef938
- 2026-09-09: advisory: CVE-2026-71614 published