CVE-2026-70378: imagecli: Negative carve Ratio Bypasses Bounds Check and Crashes Process via Reachable Panic
imagecli's carve <ratio> pipeline operation (Carve::apply() in src/imageops.rs) only asserts ratio <= 1.0, never validating that the ratio is positive. A negative ratio (e.g. -5) causes the computed target width to saturate to 0 via Rust's defined float-to-uint cast, which is then passed to imageproc::seamcarving::shrinkwidth — a function that panics when given a width below 2, crashing the process. This shares the same missing-input-validation root cause as the sibling scale finding in the same file but is an independently fixable, distinct code path.