External risk intelligence

Scriban TemplateContext Cache Bypass Allows Member Exposure

CVE advisorySeverity: CRITICAL (CVSS 9.3)

CVE-2026-74790

Scriban is a template engine library used within applications to process templates. While it can be utilized in public-facing web applications to render dynamic content, it is a backend library rather than an internet-facing service itself. Exposure depends entirely on whether the host application exposes template processing functionality to unauthenticated users, which is not universal.

Halo Surface Signal: 3 out of 5 — possibly public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

This advisory concerns a vulnerability in the Scriban templating engine that, under specific conditions, could allow unintended access to sensitive data by reusing a template processing context. This bypasses intended security policies designed to protect information. The primary concern is confirming whether your applications utilize this technology and if the vulnerable functionality is exposed in a manner that could be exploited.

  • A template engine flaw could expose hidden data.
  • Understand if this technology is used in your systems.
  • Confirm relevance and potential exposure.

Attack Path

How an attacker could exploit the issue

An attacker can exploit this vulnerability by crafting specific template requests that reuse a `TemplateContext`. By manipulating the `MemberFilter` after the `TypedObjectAccessor` has been cached, an attacker can bypass access controls and expose sensitive properties or fields that should have remained hidden. This could lead to unauthorized information disclosure or manipulation within the application.

  • No authentication or special access needed.
  • Reusing cached template contexts.
  • Exposes sensitive data and bypasses policies.

Live Threat

Current exploitation, exposure, and threat context

When Scriban's template engine reuses `TemplateContext` instances, it may improperly expose members that should remain hidden due to insufficient consideration of `MemberFilter` changes. This could allow an attacker to bypass sandbox policies and access sensitive information.

  • Access to filtered properties and fields.
  • Reused `TemplateContext` bypasses filters.
  • Potential sandbox policy violation.

Operational Fix

Recommended remediation, mitigation, and detection steps

To address this vulnerability, application owners and platform teams are likely responsible for managing the Scriban template engine. The first practical step is to identify all instances where Scriban is used, confirm if these instances are accessible externally or handle sensitive data, and then determine the accountable owner for each instance before planning remediation.

  • Determine application owners and affected systems.
  • Verify external reachability and business criticality.
  • Plan remediation based on confirmed risk.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is Scriban?

Scriban is a powerful, high-performance templating engine library for .NET applications. Developers use it to process and render dynamic content within their software, such as generating reports, emails, or web page fragments from data models.

What is the security weakness in CVE-2026-74790?

This vulnerability is classified as CWE-693: Protection Mechanism Failure. It occurs because the engine improperly caches data access rules based on object types. When settings like member filters are updated to hide sensitive data, the cached version fails to refresh, allowing restricted object members to be accessed incorrectly.

How does an attacker trigger this cache flaw?

An attacker triggers this by manipulating requests that force the engine to reuse a previously initialized template processing context. Simply calling the engine with standard configuration does not trigger the bug; it requires a specific sequence where the security filter is modified after the initial cache has been populated.

Why is Halo Surface Signal labeling this as 'Possible'?

Scriban is a backend component, not a standalone service, so its exposure depends on how a developer implemented it. If your application takes unauthenticated user input and passes it directly to the template engine, the risk is higher. If the engine only processes trusted, internal data, the likelihood of an attacker reaching the vulnerable code is significantly reduced.

Do I need to patch my infrastructure immediately?

Your first step is not immediate patching, but identification. Audit your software inventory to locate where Scriban is integrated. Determine if those specific features handle sensitive data or accept input from external users. Once you map these instances, coordinate with your development teams to verify if they are using a version prior to 7.0.0 and plan for an update.

References