{"id":"RUSTSEC-2025-0169","aliases":[],"status":"published","title":"`FormatContext` stream accessors can cause undefined behavior from safe code","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.\n\nThe 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.","facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"published":"2025-04-24T12:00:00Z","modified":"2026-08-11T10:30:03Z","fixes":[{"ecosystem":"crates.io","package":"stainless_ffmpeg","fixed_in":["0.6.0"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"crates.io","package":"stainless_ffmpeg","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.6.0"}]}]}],"references":[{"url":"https://crates.io/crates/stainless_ffmpeg","tags":["package"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2025-0169.html","tags":["advisory"]},{"url":"https://github.com/nomalab/stainless-ffmpeg/issues/63","tags":["report"]},{"url":"https://github.com/nomalab/stainless-ffmpeg/pull/64","tags":["web"]},{"url":"https://github.com/nomalab/stainless-ffmpeg/commit/a649e8cb4e7c9859279d1dc85051df5e7a4932f7","tags":["web"]}],"sources":{"osv":[{"id":"RUSTSEC-2025-0169","title":"`FormatContext` stream accessors can cause undefined behavior from safe code","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.\n\nThe 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.","status":"published","published":"2025-04-24T12:00:00Z","modified":"2026-08-11T10:30:03.159147552Z","updated_at":"2026-11-02T15:53:40.430679Z"}]}}
