Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit crafted template via HTTP request
-
DeliveryInvoke array.insert_at with index 200000000
-
ExploitEnter unchecked null-fill loop in ArrayFunctions.InsertAt
-
ExecutionExhaust host process heap memory
-
ImpactUncaught OutOfMemoryException terminates host process
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must be able to supply template content that is evaluated by the Scriban engine - this is the sole prerequisite. The |
| Impact | The CVSS 4.0 score of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N/VA:H) accurately reflects the real-world severity for any application that exposes Scriban template rendering to untrusted or semi-trusted input: a single crafted template causes a complete process crash with no recovery path. The supplied CVSS vector assigns PR:N, which is appropriate for deployments where template content originates from end users or API callers - though deployments that restrict template authoring to internal staff may face lower practical risk. The absence of a CISA KEV listing and the advisory's targeted disclosure suggest exploitation has not yet been observed at broad scale; however, a working proof-of-concept template ( |
| Exploit ScenarioDerived | An attacker submits the template |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 16, 2026
Unbounded memory allocation in Scriban's array.insert_at built-in function allows any template author to crash the host process with a single template call. Affected are all releases of the nuget/scriban and nuget/Scriban.Signed packages up to and including version 7.1.0. By supplying a sufficiently large index parameter, an attacker triggers a tight C
fill loop that allocates hundreds of millions of null entries, causing an OutOfMemoryException that terminates the host process in under a second - bypassing all existing safety controls including LoopLimit and LimitToString. A public proof-of-concept template is documented in the vendor's GHSA advisory; no CISA KEV listing has been issued at the time of analysis.
RemediationAI
Upgrade to scriban 7.2.0 (or Scriban.Signed 7.2.0), the vendor-confirmed fixed release, via NuGet: dotnet add package scriban --version 7.2.0 or the equivalent package manager command. Details are documented in the vendor advisory at https://github.com/scriban/scriban/security/advisories/GHSA-24c8-4792-22hx and the VulnCheck advisory at https://www.vulncheck.com/advisories/scriban-before-denial-of-service-via-array-insert-at. If immediate patching is not feasible, the primary compensating control is to restrict which template authors can invoke the array.insert_at built-in: remove or sandbox the function via a custom ScriptObject registration that overrides InsertAt with an index-capped implementation before evaluating any untrusted template. Operators should be aware that relying on existing LoopLimit or LimitToString settings provides zero protection for this specific code path, so those controls must not be treated as mitigations. If the application does not require array.insert_at functionality at all, removing its registration from the template context eliminates the attack surface entirely with no functional side effects for unrelated template features.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in nuget
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Scriban is a .NET/C
text templating engine (NuGet package scriban / Scriban.Signed) used to evaluate user-supplied or developer-authored templates in server-side applications. The vulnerable code path is ArrayFunctions.InsertAt in src/Scriban/Functions/ArrayFunctions.cs. When the template builtin array.insert_at is invoked with an index greater than the current array length, the function fills the gap with a for loop (for (int i = array.Count; i < index; i++) array.Add(null)) - a tight, unchecked loop with no StepLoop call, no LoopLimit check, and no LimitToString enforcement. This contrasts with sibling array and string functions patched in the Scriban 7.0.0 hardening pass (commits dde661d and 4227fde), which received a context-aware (TemplateContext, SourceSpan, ...) overload enabling per-iteration loop throttling. The InsertAt function was missed in that sweep. The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling): the function unconditionally allocates O(index) memory with no upper bound, and because .NET's OutOfMemoryException is not typically caught by Scriban's renderer or host applications, the exception propagates and terminates the entire host process rather than failing gracefully. CPE: cpe:2.3:a:scriban:scriban:*:*:*:*:*:*:*:*.
Know when Scriban gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
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
Network-reachable via template submission with no privileges required; impact is solely high availability loss with no scope change to other systems.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Scriban before 7.2.0 contains a denial of service vulnerability in the array.insert_at function that allocates unbounded null entries without respecting LoopLimit or LimitToString constraints. Attackers can supply a large index parameter to trigger OutOfMemoryException and crash the host process in under a second.
Executive ViewAI
Scriban template libraries (nuget/scriban and nuget/Scriban.Signed) through version 7.1.0 contain a denial-of-service vulnerability exploitable through malicious template input. Any application accepting untrusted Scriban templates can be crashed via unbounded memory allocation in the array.insert_at function, risking service availability. Organizations using affected versions require immediate patching or compensating controls.
Patch available per vendor advisory. Interim mitigations include: (1) implementing strict template input validation to reject potentially malicious patterns, (2) runtime disabling or stubbing of the array.insert_at built-in function, or (3) restricting template acceptance to trusted sources only.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Arbitrary CLR property writes in Scriban (the .NET templating engine) before 7.2.2 allow template code to mutate live ho
Sandbox escape in the Scriban .NET templating engine (all versions before 7.0.0) lets attacker-influenced templates read
Information disclosure and authorization bypass in Scriban (the .NET text templating engine) before 7.0.0 lets attackers
Scriban template engine versions 3.0.0 through 7.2.5 expose any application accepting untrusted templates to complete CP
Uncontrolled resource consumption in Scriban's .NET templating engine allows any party who can submit template input to
Remote denial of service in Scriban before 6.6.0 allows unauthenticated attackers to crash the entire .NET hosting proce
Process-terminating stack overflow in Scriban's template parser affects all versions before 7.0.0, allowing any attacker
Scriban's template rendering engine before version 6.6.0 crashes the entire .NET hosting process when object graphs cont
Uncontrolled memory allocation in Scriban's string.pad_left and string.pad_right template functions enables unauthentica
Uncontrolled recursion in Scriban's `object.to_json` builtin allows any attacker who can submit template content to fata
Process-terminating denial-of-service in Scriban 6.6.0-7.2.0 allows any network-reachable attacker to crash a host .NET
Resource exhaustion in Scriban 3.0.0 through 7.2.0 allows unauthenticated remote attackers to force multi-gigabyte memor
EUVD-2026-59950
GHSA-wcrg-p6mv-jx2j
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB