{"id":"GHSA-rmc9-8qp4-gjhx","aliases":["RUSTSEC-2026-0460"],"status":"published","title":"Panic on chroma QP offsets enabled with an empty offset list","description":"An HEVC Range Extensions stream can set `cu_chroma_qp_offset_enabled_flag` in a\nslice while its picture parameter set carries an empty chroma QP offset list.\nThe decoder then read the list at the signalled index, which panicked on the\nout-of-range access. A panic aborts the decoding thread, or the whole process\nwhen built with `panic = \"abort\"`. The crate forbids `unsafe` code, so there is\nno memory corruption.\n\nAny application that decodes untrusted HEIC files or HEVC streams with\n`heifer-hevc-dec`, directly or through the `heifer` crate, is affected.\n\nThe flaw was corrected in 0.3.27 (commit\n[`1a8426e`](https://github.com/HarpeLm/Heifer/commit/1a8426e1b41160fb48d8baf8be858238570a8093)):\nwith an empty list there is no offset to apply, and the offset is zero.","severity":{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium","from":"osv"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"published":"2026-11-04T12:00:00Z","modified":"2026-11-09T10:15:02Z","fixes":[{"ecosystem":"crates.io","package":"heifer-hevc-dec","fixed_in":["0.3.27"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"crates.io","package":"heifer-hevc-dec","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.3.27"}]}]}],"references":[{"url":"https://crates.io/crates/heifer-hevc-dec","tags":["package"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2026-0460.html","tags":["advisory"]},{"url":"https://github.com/HarpeLm/Heifer/commit/1a8426e1b41160fb48d8baf8be858238570a8093","tags":["web"]}],"sources":{"osv":[{"id":"RUSTSEC-2026-0460","title":"Panic on chroma QP offsets enabled with an empty offset list","description":"An HEVC Range Extensions stream can set `cu_chroma_qp_offset_enabled_flag` in a\nslice while its picture parameter set carries an empty chroma QP offset list.\nThe decoder then read the list at the signalled index, which panicked on the\nout-of-range access. A panic aborts the decoding thread, or the whole process\nwhen built with `panic = \"abort\"`. The crate forbids `unsafe` code, so there is\nno memory corruption.\n\nAny application that decodes untrusted HEIC files or HEVC streams with\n`heifer-hevc-dec`, directly or through the `heifer` crate, is affected.\n\nThe flaw was corrected in 0.3.27 (commit\n[`1a8426e`](https://github.com/HarpeLm/Heifer/commit/1a8426e1b41160fb48d8baf8be858238570a8093)):\nwith an empty list there is no offset to apply, and the offset is zero.","status":"published","published":"2026-11-04T12:00:00Z","modified":"2026-11-09T10:15:02.433477015Z","cvss":[{"version":"3.1","score":6.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","level":"medium"}],"updated_at":"2026-11-09T10:23:19.768736Z"}]}}
