{"id":"CVE-2026-71202","aliases":["EUVD-2026-53199","GHSA-hjwh-6x9j-wjwq"],"status":"published","title":"raster - Integer Underflow in crop() Offset Handling Causes Capacity-Overflow Panic","description":"The raster Rust crate's crop function (src/editor.rs) clamps the crop width/height against source dimensions but only clamps the offset_x/offset_y parameters against 0, never against the source width/height.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.0046,"percentile":0.40186,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-191"],"published":"2026-08-05T06:58:53Z","modified":"2026-10-24T15:10:00Z","products":[{"vendor":"kosinix","product":"raster"}],"references":[{"url":"https://github.com/kosinix/raster/issues/30","tags":["third-party-advisory","exploit"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-71202"},{"url":"https://github.com/advisories/GHSA-hjwh-6x9j-wjwq"}],"sources":{"cve":[{"id":"CVE-2026-71202","title":"raster - Integer Underflow in crop() Offset Handling Causes Capacity-Overflow Panic","description":"The raster Rust crate's crop function (src/editor.rs) clamps the crop width/height against source dimensions but only clamps the offset_x/offset_y parameters against 0, never against the source width/height.","status":"published","published":"2026-08-05T06:58:53.827Z","modified":"2026-08-10T11:44:59.049Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-191"],"updated_at":"2026-11-02T14:19:49.199185Z"}],"euvd":[{"id":"EUVD-2026-53199","description":"The raster Rust crate's crop function (src/editor.rs) clamps the crop width/height against source dimensions but only clamps the offset_x/offset_y parameters against 0, never against the source width/height.","status":"published","published":"2026-08-05T06:58:53Z","modified":"2026-08-10T11:44:59Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T18:02:06.086083Z"}],"ghsa":[{"id":"GHSA-hjwh-6x9j-wjwq","title":"The raster Rust crate's crop() function (src/editor.rs) clamps the crop width/height against...","description":"The raster Rust crate's crop() function (src/editor.rs) clamps the crop width/height against source dimensions but only clamps the offset_x/offset_y parameters against 0, never against the source width/height. When an offset exceeds the corresponding source dimension, `width2 - offset_x` (or the height equivalent) underflows to a negative i32, which release builds do not trap; the negative value is then cast to usize inside Image::blank()'s Vec::with_capacity() call, triggering a capacity-overflow panic and crashing the process on a single crafted crop request.","status":"published","published":"2026-08-05T09:31:18Z","modified":"2026-08-05T09:31:27Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-191"],"updated_at":"2026-11-02T15:10:06.632203Z"}],"nvd":[{"id":"CVE-2026-71202","description":"The raster Rust crate's crop function (src/editor.rs) clamps the crop width/height against source dimensions but only clamps the offset_x/offset_y parameters against 0, never against the source width/height.","status":"published","published":"2026-08-05T08:16:42.08Z","modified":"2026-10-24T15:10:00.19Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-191"],"updated_at":"2026-11-02T14:12:35.031043Z"}]}}
