Description
Scriban before 7.0.0 (affected <= 6.6.0) applies its LoopLimit constraint only to script loop statements and not to expensive iteration performed inside built-in operators and functions. As a result, a single expression such as {{ 1..1000000 | array.size }} — or a memory-amplification expression such as {{ 'A' * 200000000 }} — can force large CPU or memory consumption even when LoopLimit is configured to a very small value, resulting in denial of service. Applications that render attacker-controlled templates and rely on LoopLimit for safe execution are affected.
Published: 2026-08-16
Score: 8.7 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Scriban applies its LoopLimit constraint only to explicitly coded loop statements. Built‑in operations and functions that iterate internally are not subject to this limit, allowing expressions such as {{ 1..1000000 | array.size }} or {{ 'A' * 200000000 }} to consume large amounts of CPU or memory. This flaw can trigger denial of service when an attacker supplies a crafted template, and it is classified as CWE‑400, an Uncontrolled Resource Consumption weakness.

Affected Systems

Applications that embed the Scriban templating engine, specifically any release of scriban:scriban with a version number of 6.6.0 or earlier – that is, any version before the 7.0.0 release. These systems will be vulnerable if they render templates supplied by users or external sources without additional safeguards.

Risk and Exploitability

The vulnerability carries a CVSS score of 8.7 and is not listed in CISA's KEV catalog. EPSS data is not available, which does not negate the severity. It can be exploited simply by providing a malicious template to a component that evaluates Scriban expressions, with no special credentials or additional software required. The attack path is direct: submit a template containing an expensive built‑in operation, and the engine will expend system resources until the host becomes unresponsive.

Generated by OpenCVE AI on August 16, 2026 at 15:35 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Scriban to version 7.0.0 or later
  • Restrict rendering of attacker‑controlled templates or validate template content before processing
  • Apply application‑level resource limits such as execution timeouts and memory caps

Generated by OpenCVE AI on August 16, 2026 at 15:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 16 Aug 2026 13:30:00 +0000

Type Values Removed Values Added
Description Scriban before 7.0.0 (affected <= 6.6.0) applies its LoopLimit constraint only to script loop statements and not to expensive iteration performed inside built-in operators and functions. As a result, a single expression such as {{ 1..1000000 | array.size }} — or a memory-amplification expression such as {{ 'A' * 200000000 }} — can force large CPU or memory consumption even when LoopLimit is configured to a very small value, resulting in denial of service. Applications that render attacker-controlled templates and rely on LoopLimit for safe execution are affected.
Title Scriban before 7.0.0 LoopLimit Bypass via Built-in Operations
Weaknesses CWE-400
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'}

cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-16T13:14:13.792Z

Reserved: 2026-08-16T12:56:02.577Z

Link: CVE-2026-74789

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-16T14:16:56.917

Modified: 2026-08-16T14:16:56.917

Link: CVE-2026-74789

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-16T15:45:16Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption