{"id":"GHSA-5qv7-j6w5-fr4m","aliases":["RUSTSEC-2026-0115"],"status":"published","title":"imageproc has fragile bounds check when sampling from image","description":"A read of pixels was coded as modifying coordinates to lie within the image bounds. It would calculate a coordinate by adding a constant to an input and taking the minimum of the resulting coordinate and 'dimension - 1'. This would not protect against malicious inputs that could overflow the addition. Following the tricked bounds check, the image could then be sampled at multiple differently calculated coordinates that exceeded the bounds.","severity":{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N","level":"medium","from":"ghsa"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-190"],"published":"2026-05-01T12:00:00Z","modified":"2026-05-07T09:11:25Z","fixes":[{"ecosystem":"crates.io","package":"imageproc","fixed_in":["0.24.1","0.25.1","0.26.2"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"crates.io","package":"imageproc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.24.0"},{"last_affected":"0.24.0"},{"fixed":"0.24.1"}]}],"versions":["0.24.0"]},{"source":"ghsa","ecosystem":"crates.io","package":"imageproc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.25.0"},{"last_affected":"0.25.0"},{"fixed":"0.25.1"}]}],"versions":["0.25.0"]},{"source":"ghsa","ecosystem":"crates.io","package":"imageproc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.26.0"},{"fixed":"0.26.2"}]}]},{"source":"osv","ecosystem":"crates.io","package":"imageproc","ranges":[{"type":"SEMVER","events":[{"introduced":"0.24.0"},{"fixed":"0.24.1"}]}],"versions":["0.24.0"]},{"source":"osv","ecosystem":"crates.io","package":"imageproc","ranges":[{"type":"SEMVER","events":[{"introduced":"0.25.0"},{"fixed":"0.25.1"}]}],"versions":["0.25.0"]},{"source":"osv","ecosystem":"crates.io","package":"imageproc","ranges":[{"type":"SEMVER","events":[{"introduced":"0.26.0"},{"fixed":"0.26.2"}]}]},{"source":"osv","ecosystem":"crates.io","package":"imageproc","ranges":[{"type":"SEMVER","events":[{"introduced":"0.24.0"},{"fixed":"0.24.1"},{"introduced":"0.25.0"},{"fixed":"0.25.1"},{"introduced":"0.26.0"},{"fixed":"0.26.2"}]}]}],"references":[{"url":"https://rustsec.org/advisories/RUSTSEC-2026-0115.html","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-5qv7-j6w5-fr4m"},{"url":"https://github.com/image-rs/imageproc","tags":["package"]},{"url":"https://crates.io/crates/imageproc","tags":["package"]}],"sources":{"ghsa":[{"id":"GHSA-5qv7-j6w5-fr4m","title":"imageproc has fragile bounds check when sampling from image","description":"A read of pixels was coded as modifying coordinates to lie within the image bounds. It would calculate a coordinate by adding a constant to an input and taking the minimum of the resulting coordinate and 'dimension - 1'. This would not protect against malicious inputs that could overflow the addition. Following the tricked bounds check, the image could then be sampled at multiple differently calculated coordinates that exceeded the bounds.","status":"published","published":"2026-05-07T03:03:48Z","modified":"2026-05-07T03:03:51Z","cvss":[{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-190"],"updated_at":"2026-11-02T14:40:03.762927Z"}],"osv":[{"id":"GHSA-5qv7-j6w5-fr4m","title":"imageproc has fragile bounds check when sampling from image","description":"A read of pixels was coded as modifying coordinates to lie within the image bounds. It would calculate a coordinate by adding a constant to an input and taking the minimum of the resulting coordinate and 'dimension - 1'. This would not protect against malicious inputs that could overflow the addition. Following the tricked bounds check, the image could then be sampled at multiple differently calculated coordinates that exceeded the bounds.","status":"published","published":"2026-05-07T03:03:48Z","modified":"2026-05-07T09:11:25.320002639Z","cvss":[{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-190"],"updated_at":"2026-11-02T15:46:38.553953Z"},{"id":"RUSTSEC-2026-0115","title":"Fragile bounds check when sampling from image","description":"A read of pixels was coded as modifying coordinates to lie within the image\nbounds. It would calculate a coordinate by adding a constant to an input and\ntaking the minimum of the resulting coordinate and 'dimension - 1'. This would\nnot protect against malicious inputs that could overflow the addition. .\nSubsequently to the tricked bounds check the image could then be sampled at\nmultiple, differently calculated coordinates exceeding the bounds.","status":"published","published":"2026-05-01T12:00:00Z","modified":"2026-05-07T08:56:41Z","updated_at":"2026-11-02T15:53:40.430679Z"}]}}
