Closed
Bug 1260800
Opened 10 years ago
Closed 9 years ago
OpenH264: UBSan signed integer overflow in [@WelsDec::ParseResidualBlockCabac]
Categories
(Core :: Audio/Video: GMP, defect)
Core
Audio/Video: GMP
Tracking
()
RESOLVED
FIXED
People
(Reporter: tsmith, Unassigned)
References
(Blocks 1 open bug)
Details
(Keywords: csectype-intoverflow, sec-audit, testcase)
Attachments
(1 file)
|
36.24 KB,
application/octet-stream
|
Details |
Found while fuzzing openh264 revision c0641f40d91b8cb47f287bf26dc48d51a476c325
codec/decoder/core/src/parse_mb_syn_cabac.cpp:944:78: runtime error: signed integer overflow: -64886 * 43608 cannot be represented in type 'int'
#0 0x693e9b in WelsDec::ParseResidualBlockCabac(WelsDec::TagNeighborAvail*, unsigned char*, WelsCommon::TagBitStringAux*, int, int, unsigned char const*, int, short*, unsigned char, WelsDec::TagWelsDecoderContext*) /home/user/code/openh264/codec/decoder/core/src/parse_mb_syn_cabac.cpp:944:78
#1 0x6488d1 in WelsDec::WelsDecodeMbCabacPSliceBaseMode0(WelsDec::TagWelsDecoderContext*, WelsDec::TagNeighborAvail*, unsigned int&) /home/user/code/openh264/codec/decoder/core/src/decode_slice.cpp:973:15
#2 0x64f871 in WelsDec::WelsDecodeMbCabacPSlice(WelsDec::TagWelsDecoderContext*, WelsDec::TagNalUnit*, unsigned int&) /home/user/code/openh264/codec/decoder/core/src/decode_slice.cpp:1101:3
#3 0x6554bd in WelsDec::WelsDecodeSlice(WelsDec::TagWelsDecoderContext*, bool, WelsDec::TagNalUnit*) /home/user/code/openh264/codec/decoder/core/src/decode_slice.cpp:1229:12
#4 0x55d45b in WelsDec::DecodeCurrentAccessUnit(WelsDec::TagWelsDecoderContext*, unsigned char**, TagBufferInfo*) /home/user/code/openh264/codec/decoder/core/src/decoder_core.cpp:2278:16
#5 0x558506 in WelsDec::ConstructAccessUnit(WelsDec::TagWelsDecoderContext*, unsigned char**, TagBufferInfo*) /home/user/code/openh264/codec/decoder/core/src/decoder_core.cpp:2003:10
#6 0x525401 in WelsDecodeBs /home/user/code/openh264/codec/decoder/core/src/decoder.cpp:788:7
#7 0x5083c5 in WelsDec::CWelsDecoder::DecodeFrame2(unsigned char const*, int, unsigned char**, TagBufferInfo*) /home/user/code/openh264/codec/decoder/plus/src/welsDecoderExt.cpp:503:3
#8 0x5067c5 in WelsDec::CWelsDecoder::DecodeFrameNoDelay(unsigned char const*, int, unsigned char**, TagBufferInfo*) /home/user/code/openh264/codec/decoder/plus/src/welsDecoderExt.cpp:432:11
#9 0x4f9acf in H264DecodeInstance(ISVCDecoder*, char const*, char const*, int&, int&, char const*, char const*) /home/user/code/openh264/codec/console/dec/src/h264dec.cpp:208:5
#10 0x4fb2dc in main /home/user/code/openh264/codec/console/dec/src/h264dec.cpp:347:5
#11 0x7fe3b37a4ec4 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4)
#12 0x42e375 in _start (/home/ubuntu/build/build/h264dec_ub_asan+0x42e375)
| Reporter | ||
Updated•10 years ago
|
Severity: critical → normal
| Reporter | ||
Comment 1•10 years ago
|
||
This is still reproducible as of openh264 commit 1eb735299a4606c01b7abbb2f561e7a904e08c1c
This case has been fixed in the master branch, commit 46220cf, please help to verify it.
| Reporter | ||
Updated•9 years ago
|
Updated•9 years ago
|
Group: media-core-security → core-security-release
Updated•6 years ago
|
Group: core-security-release
| Assignee | ||
Updated•4 years ago
|
Component: OpenH264 → Audio/Video: GMP
Product: External Software Affecting Firefox → Core
You need to log in
before you can comment on or make changes to this bug.
Description
•