Description
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 products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| scriban | scriban | < 7.0.0 | 7.0.0 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| NuGet | Scriban | < 7.0.0 | 7.0.0 | GHSA-m2p3-hwv5-xpqw |
| NuGet | Scriban.Signed | < 7.0.0 | 7.0.0 | GHSA-m2p3-hwv5-xpqw |
References
- GitHub Security Advisory (GHSA-m2p3-hwv5-xpqw) vendor-advisory
- VulnCheck Advisory: Scriban before 7.0.0 Denial of Service via Unbounded Template Output third-party-advisory