Description
imagecli's `scale <ratio>` pipeline operation (Scale::apply() in src/image_ops.rs) computes output width/height as (dimension as f32 * ratio) as u32 with no upper-bound validation on the CLI-supplied ratio, which is parsed via nom::number::complete::float with no range check. A large ratio (e.g. 100000) causes an attempted allocation of hundreds of terabytes, aborting the process. Any application embedding imagecli as a library and accepting user-controlled pipeline strings is remotely crashable with a single request.
Published: 2026-08-05
Score: 7.5 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

imagecli’s scale pipeline operation accepts an unbounded ratio value from the command line or embedded pipeline strings. The ratio is parsed as a floating‑point number without any range validation, and the resulting output dimensions are computed by scaling the original size. Supplying a large ratio, such as 100000, causes the program to attempt to allocate hundreds of terabytes of memory, leading to an abort and crash. The vulnerability allows a single malicious request to trigger a process termination, resulting in denial of service for the target application or system.

Affected Systems

The vulnerable component is theimagecli tool maintained by theotherphil. The product can be used both as a standalone CLI for image processing and as a library that processes user‑supplied pipeline strings. No specific product versions are listed, but any instance that incorporates the current imagecli source code without applying bounds on the scale ratio is affected.

Risk and Exploitability

The vulnerability is scored 7.5 on the CVSS scale, indicating a high impact although no remote privilege escalation or data compromise is described. The EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is through any application that accepts untrusted input to build an imagecli pipeline or by direct invocation of the CLI with a crafted ratio argument. A single request can exploit the bug, causing a crash and denial of service. Proper bounds checking or input validation would mitigate the risk.

Generated by OpenCVE AI on August 5, 2026 at 08:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update imagecli to the latest released version that includes a fix for the unbounded ratio bug.
  • If a newer release is not yet available, validate or constrain the user‑supplied ratio value to a realistic range (e.g., 0.0 < ratio <= 10.0) before passing it to imagecli.
  • When embedding imagecli, reject or sanitize any pipeline strings derived from untrusted sources to prevent the injection of malicious scale ratios.

Generated by OpenCVE AI on August 5, 2026 at 08:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 05 Aug 2026 07:30:00 +0000

Type Values Removed Values Added
Description imagecli's `scale <ratio>` pipeline operation (Scale::apply() in src/image_ops.rs) computes output width/height as (dimension as f32 * ratio) as u32 with no upper-bound validation on the CLI-supplied ratio, which is parsed via nom::number::complete::float with no range check. A large ratio (e.g. 100000) causes an attempted allocation of hundreds of terabytes, aborting the process. Any application embedding imagecli as a library and accepting user-controlled pipeline strings is remotely crashable with a single request.
Title imagecli: Uncontrolled Memory Allocation via Unbounded scale Ratio Causes Denial of Service
Weaknesses CWE-789
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'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: TuranSec

Published:

Updated: 2026-08-05T06:58:47.554Z

Reserved: 2026-08-04T07:13:07.993Z

Link: CVE-2026-70377

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T08:30:04Z

Weaknesses
  • CWE-789

    Memory Allocation with Excessive Size Value