mirror of
https://github.com/CCExtractor/ccextractor.git
synced 2026-04-29 01:21:04 +00:00
[PR #1964] [CLOSED] fix TS/ES: Integer overflow, stack overflow, heap over-read #2760
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?
📋 Pull Request Information
Original PR: https://github.com/CCExtractor/ccextractor/pull/1964
Author: @THE-Amrit-mahto-05
Created: 1/2/2026
Status: ❌ Closed
Base:
master← Head:fix/ts-es-critical-bugs📝 Commits (3)
5dc8292Fix out-of-bounds read in H.264 SEI parsing82109e6Fix DTVCC structural type confusion and OOB writes (#1961)3e1424cFix TS/ES: Integer overflow, stack overflow, heap over-read📊 Changes
4 files changed (+61 additions, -4 deletions)
View changed files
📝
src/lib_ccx/avc_functions.c(+8 -2)📝
src/lib_ccx/ccx_decoders_708.c(+38 -0)📝
src/lib_ccx/es_userdata.c(+6 -2)📝
src/lib_ccx/ts_tables.c(+9 -0)📄 Description
In raising this pull request, I confirm the following (please check boxes):
My familiarity with the project is as follows (check one):
Description:
This PR addresses three critical and previously unreported vulnerabilities in CCExtractor's TS/ES decoders.
Issue: #1963
Problems fixed:
Integer Overflow in TS PSI buffer (
ts_tables.c)buffer_length + payload_lengthfrom exceeding 1MB.Stack Overflow in SCTE 20 parsing (
es_userdata.c)cc_dataarray.cc_dataarray and added termination for safety.Heap Buffer Over-read in GXF VBI parsing (
es_userdata.c)decode_vbireads 720 bytes unconditionally regardless ofudatalen.udatalen >= 720before callingdecode_vbi.Testing:
Impact:
Prevents heap corruption, stack overflow, and buffer over-read in core decoders. Ensures robustness against malformed TS/ES streams.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.