Closed Bug 1462191 Opened 8 years ago Closed 3 months ago

nestegg: unsigned integer overflow in [@ ne_read_ebml_lacing]

Categories

(Core :: Audio/Video: Playback, defect, P3)

Firefox 151
defect

Tracking

()

RESOLVED FIXED
Tracking Status
firefox151 --- fixed

People

(Reporter: tsmith, Assigned: kinetik)

References

Details

(Keywords: testcase)

Attachments

(1 file)

Attached video testcase.webm
nestegg (test) was build unsing the following config command: CFLAGS="-fsanitize=integer" CC=clang ./configure --enable-static --disable-shared src/nestegg.c:1491:33: runtime error: unsigned integer overflow: 0 - 4 cannot be represented in type 'unsigned long' #0 0x504a87 in ne_read_ebml_lacing nestegg/src/nestegg.c:1305:28 #1 0x504a87 in ne_read_block nestegg/src/nestegg.c:1509 #2 0x4fdf38 in nestegg_read_packet nestegg/src/nestegg.c:2802:15 #3 0x4ea703 in main nestegg/test/test.c:166:9 #4 0x7f09dfbe282f in __libc_start_main /build/glibc-Cl5G7W/glibc-2.23/csu/../csu/libc-start.c:291 #5 0x418928 in _start (nestegg/test+0x418928)
Assignee: nobody → kinetik
In terms of security, comments 1-3 from bug 1462189 apply for this one too. I believe it's safe, so clearing s-s. To fix this case, we can probably just check for overflow and treat the media as invalid with an error, since reading an invalid block size is likely to result in the parser losing sync and treating the media as invalid later anyway.
Group: media-core-security
Priority: -- → P3
Severity: normal → S3

Fix will land via bug 1463586.

Status: NEW → ASSIGNED
Depends on: 1463586
No longer depends on: 1463586
Depends on: 2027946
Status: ASSIGNED → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Version: unspecified → Firefox 151
QA Whiteboard: [qa-triage-done-c152/b151]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: