CVE-2026-70378

imagecli - Negative carve Ratio Bypasses Bounds Check and Crashes Process via Reachable Panic

Published Aug 5, 2026 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
Description
imagecli's pipeline operation (Carve::apply in src/image_ops.rs) only asserts , 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::seam_carving::shrink_width — a function that panics when given a width below 2, crashing the process.

Analysis

AI-generated

Technical impact

imagecli’s carve operation, implemented in Carve::apply, validates that the supplied ratio is no greater than one but does not verify that it is positive. Supplying a negative ratio such as –5 causes the computed target width to clamp to zero through Rust’s defined float‑to‑uint cast. This zero width is then passed to imageproc::seam_carving::shrink_width, which panics when the width is less than two, terminating the imagecli process. The result is a denial of service for any user relying on the utility. The flaw is an instance of missing input validation (CWE-1284).

Affected Systems

The vulnerable component is the imagecli utility from theotherphil. No specific product version is identified in the CVE data; therefore any release of imagecli that contains the unpatched carve routine is potentially affected.

Risk and Exploitability

The reported CVSS score is 7.5, indicating a high severity vulnerability. The EPSS score is <1%, reflecting a very low but nonzero exploitation probability, yet the simple numeric input requirement means that exploitation is technically straightforward. The vulnerability is not listed in the CISA KEV catalog. The attack vector is inferred to be local or remote if imagecli receives user input via a network service or command line; a malicious actor could supply a negative ratio to trigger the crash and disrupt availability.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the vendor’s latest patch for imagecli once it becomes available.
  • If a patch is not yet released, modify the carve command to validate that the ratio is strictly greater than zero before performing the operation.
  • Temporarily disable the carve feature or limit its use to trusted users until validation is in place.
  • Monitor imagecli logs for unexpected panics and ensure system restarts or error handling mitigates prolonged downtime.

Generated by OpenCVE AI on August 10, 2026 at 23:01 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Description imagecli's `carve <ratio>` pipeline operation (Carve::apply() in src/image_ops.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::seam_carving::shrink_width — 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. imagecli's pipeline operation (Carve::apply in src/image_ops.rs) only asserts , 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::seam_carving::shrink_width — a function that panics when given a width below 2, crashing the process.
Type Values Removed Values Added
Title imagecli: Negative carve Ratio Bypasses Bounds Check and Crashes Process via Reachable Panic imagecli - Negative carve Ratio Bypasses Bounds Check and Crashes Process via Reachable Panic
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Theotherphil
Theotherphil imagecli
Vendors & Products Theotherphil
Theotherphil imagecli
Type Values Removed Values Added
Description imagecli's `carve <ratio>` pipeline operation (Carve::apply() in src/image_ops.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::seam_carving::shrink_width — 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.
Title imagecli: Negative carve Ratio Bypasses Bounds Check and Crashes Process via Reachable Panic
Weaknesses CWE-1284
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

Weaknesses
  • CWE-1284

    Improper Validation of Specified Quantity in Input

Sources

Status
PUBLISHED
Assigner
TuranSec
Published
Updated
Aug 10, 2026, 11:44 AM
Reserved
Aug 4, 2026, 7:13 AM
Status
Deferred
Published
Aug 5, 2026, 8:16 AM
Modified
Oct 24, 2026, 4:10 PM