Null Pointer Dereference and Index Out of Bounds Panics in moonfire-ffmpeg#2568
Open
cuiwenhao123 wants to merge 1 commit intorustsec:mainfrom
Open
Null Pointer Dereference and Index Out of Bounds Panics in moonfire-ffmpeg#2568cuiwenhao123 wants to merge 1 commit intorustsec:mainfrom
cuiwenhao123 wants to merge 1 commit intorustsec:mainfrom
Conversation
|
The second one is a safe panic, not a "critical safety issue". At worst that's a DoS vulnerability. But to me it looks like the function panicking on an out-of-bounds index is by-design, and thus not even a bug. For the first issue, can you show code that results in this function being called with |
Contributor
|
For triage:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Found two critical safety issues in moonfire-ffmpeg that can cause panics when handling invalid input data during fuzzing:
Null Pointer Dereference in VideoFrame::plane()
Location: src/avutil.rs:197
Panic Message:null pointer dereference occurred
Problematic Code:
Issue:The code directly dereferences self.stuff.data.offset(plane_off) without checking if self.stuff.data is null. When data is null, calling offset() and then dereferencing with * causes a null pointer dereference panic.
Index Out of Bounds in Streams::get()
Location: src/avformat.rs:443
Panic Message:index out of bounds: the len is 1 but the index is 3617292328856139833
Problematic Code:
Issue: The code directly indexes into self.0[i] without bounds checking. The fuzzer generated an extremely large index value (3617292328856139833) which is far beyond the actual array length (1), causing an index out of bounds panic.