[FFmpeg-trac] #11346(avcodec:new): signed integer overflow in libavformat/demux.c
FFmpeg
trac at avcodec.org
Fri Dec 13 12:47:05 EET 2024
#11346: signed integer overflow in libavformat/demux.c
-------------------------------------+-------------------------------------
Reporter: skorpion98 | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: avcodec
Version: git-master | Resolution:
Keywords: ubsan, | Blocked By:
overflow |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Description changed by skorpion98:
Old description:
> **Summary of the bug**: Signed integer overflow in
> libavformat/demux.c:804
>
> **How to reproduce**:
> In the attached archive you will find:
> * the executable on which we performed our tests, a compiled version of
> the `ffmpeg_DEMUXER_fuzzer` fuzzing harness you made
> * a directory `bug` containing the input that caused the aforementioned
> bug and its UBSan log
>
> To reproduce the errors, simply run the given binary with the testcase
> files with a command like:
> `./ffmpeg_DEMUXER_fuzzer /path_to_testcases/input`.
>
> The program has been tested on the standard Docker image provided on OSS-
> Fuzz using Ubuntu 20.04, using AFL++ as fuzzing engine and the standard
> sanitizers flags used by OSS-Fuzz for ASan and UBSan.
>
> The hash commit used to perform the tests is `eb79c31`.
>
> **UBSan output**:
>
> {{{
> Reading 8517 bytes from /bugs/ffmpeg/signed_integer_overflow_avformat_01
> libavformat/demux.c:804:36: runtime error: signed integer overflow:
> -9223371749632982144 - 1907869387765793664 cannot be represented in type
> 'int64_t' (aka 'long')
> SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
> libavformat/demux.c:804:36
> }}}
New description:
**Summary of the bug**: Signed integer overflow in libavformat/demux.c:804
**How to reproduce**:
In the archive uploaded to the "VideoLAN File Uploader" you will find:
* the executable on which we performed our tests, a compiled version of
the `ffmpeg_DEMUXER_fuzzer` fuzzing harness you made
* a directory `bug` containing the input that caused the aforementioned
bug and its UBSan log
To reproduce the errors, simply run the given binary with the testcase
files with a command like:
`./ffmpeg_DEMUXER_fuzzer /path_to_testcases/input`.
The program has been tested on the standard Docker image provided on OSS-
Fuzz using Ubuntu 20.04, using AFL++ as fuzzing engine and the standard
sanitizers flags used by OSS-Fuzz for ASan and UBSan.
The hash commit used to perform the tests is `eb79c31`.
**UBSan output**:
{{{
Reading 8517 bytes from /bugs/ffmpeg/signed_integer_overflow_avformat_01
libavformat/demux.c:804:36: runtime error: signed integer overflow:
-9223371749632982144 - 1907869387765793664 cannot be represented in type
'int64_t' (aka 'long')
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior
libavformat/demux.c:804:36
}}}
--
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11346#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list