mirror of
https://github.com/CCExtractor/ccextractor.git
synced 2026-02-13 13:35:37 +00:00
Critical TS/ES Decoder Vulnerabilities: Integer Overflow, Stack Overflow, Heap Over-read #883
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @THE-Amrit-mahto-05 on GitHub (Jan 2, 2026).
I have discovered three critical and previously unreported vulnerabilities in CCExtractor's Transport Stream (TS) and Elementary Stream (ES) decoders:
Integer Overflow in TS PSI buffer (
ts_tables.c)ts_buffer_psi_packet).Stack Overflow in SCTE 20 parsing (
es_userdata.c)cc_dataarray.Heap Buffer Over-read in GXF VBI parsing (
es_userdata.c)decode_vbireads 720 bytes unconditionally regardless ofudatalen.Affected functions/files:
ts_tables.c→ts_buffer_psi_packetes_userdata.c→ SCTE 20 handling / GXF VBI handlingProposed Fixes (ready to implement in separate branch):
cc_dataarray and add termination for SCTE 20 stack safety.udatalen >= 720before callingdecode_vbito prevent over-read.Impact if unpatched:
@cfsmp3 commented on GitHub (Jan 2, 2026):
This is not critical unless you provide an example file that shows the problem (fine if you create it yourself, but it must hit the code path that shows the problem).
I'm going to close all these small issues with theoretical problems - they add a lot of overhead to my workload.