RUSTSEC-2025-0169
`FormatContext` stream accessors can cause undefined behavior from safe code
Details
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.
Are you affected?
Enter the version of the package you're using.
Affected packages
0.0.0-0 Fixed in: 0.6.0 Upgrade stainless_ffmpeg to 0.6.0 or newer (ecosystem crates.io).
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]