CVE-2026-74786: Scriban before 7.0.0 Denial of Service via Unbounded Template Output
Scriban before 7.0.0 (affected versions <= 6.6.0) contains a denial-of-service vulnerability in which the LimitToString safety limit (default 1MB) can be bypassed because ObjectToString resets the per-call length counter (currentToStringLength) on every top-level call and StringBuilderOutput enforces no cumulative output-size limit. An attacker who can supply a template can render a near-limit string repeatedly in a loop, allocating approximately 1GB of memory and causing an out-of-memory condition that crashes the host application.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Scribanto a version that resolves this vulnerability.Fixed in 7.0.0
Event History
Frequently Asked Questions
What is the severity of CVE-2026-74786?
The severity of CVE-2026-74786 is rated as medium with a CVSS score of 6.5.
How does CVE-2026-74786 impact Scriban?
CVE-2026-74786 allows for a denial-of-service condition by bypassing the LimitToString safety limit.
What versions of Scriban are affected by CVE-2026-74786?
Scriban versions before 7.0.0, specifically up to and including version 6.6.0, are affected by CVE-2026-74786.
How do I fix CVE-2026-74786?
To fix CVE-2026-74786, upgrade Scriban to version 7.0.0 or later.
What type of vulnerability is CVE-2026-74786?
CVE-2026-74786 is classified as a denial-of-service vulnerability.