Description
Affected versions of `stainless_ffmpeg` exposed several safe public methods on `FormatContext` that accepted a `stream_index` parameter and used it in unsafe pointer operations without checking whether the index was valid. These methods performed pointer arithmetic and dereferenced the resulting stream pointer. Safe callers could pass a negative or out-of-bounds `stream_index`, which could cause out-of-bounds pointer access and undefined behavior from safe Rust code.
The issue was fixed in version `0.6.0` by marking the affected stream accessor methods as `unsafe` and documenting that callers must ensure `stream_index` is a valid stream index.
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| crates.io | stainless_ffmpeg | >= 0.0.0-0, < 0.6.0 | 0.6.0 | RUSTSEC-2025-0169 |
References
- https://crates.io/crates/stainless_ffmpeg package
- https://rustsec.org/advisories/RUSTSEC-2025-0169.html advisory
- https://github.com/nomalab/stainless-ffmpeg/issues/63 report
- https://github.com/nomalab/stainless-ffmpeg/pull/64 web
- https://github.com/nomalab/stainless-ffmpeg/commit/a649e8cb4e7c9859279d1dc85051df5e7a4932f7 web