CVE-2024-46507 Overview
CVE-2024-46507 is a Server-Side Template Injection (SSTI) vulnerability in the custom template export function of yeti-platform/yeti before version 2.1.12. Yeti is an open-source threat intelligence repository used by security teams to organize observables, indicators, and tactics, techniques, and procedures (TTPs). Attackers can inject template directives into custom export templates, causing the templating engine to evaluate attacker-controlled expressions during rendering. Successful exploitation results in arbitrary code execution on the Yeti application server. The flaw is classified under CWE-94: Improper Control of Generation of Code.
Critical Impact
Authenticated network attackers can execute arbitrary code on the Yeti application server, exposing threat intelligence data and enabling lateral movement into incident response infrastructure.
Affected Products
- yeti-platform/yeti versions prior to 2.1.12
- Self-hosted Yeti threat intelligence platform deployments
- Yeti instances exposing the custom template export feature
Discovery Timeline
- 2026-05-08 - CVE-2024-46507 published to NVD
- 2026-05-08 - Last updated in NVD database
Technical Details for CVE-2024-46507
Vulnerability Analysis
The vulnerability lives in the custom template export function exposed by Yeti's web interface. Yeti allows users to define export templates for rendering observables and intelligence objects into reports. The export pipeline passes user-supplied template content directly to a server-side templating engine without sandboxing or input restriction.
When the engine evaluates a template containing language constructs such as object attribute access or built-in function calls, it executes those expressions inside the Python application process. Attackers leverage this evaluation path to reach interpreter internals, the os module, or subprocess facilities. The result is arbitrary command execution under the privileges of the Yeti service account.
Root Cause
The root cause is improper neutralization of directives in user-controlled template input, consistent with [CWE-94]. The custom template feature treats template bodies as trusted code rather than untrusted data. No filtering, no sandboxed environment, and no allowlist of safe expressions is applied before the engine renders the template.
Attack Vector
Exploitation requires network access to the Yeti web interface and the ability to submit or modify a custom export template. An attacker creates a template containing a malicious expression, then triggers an export operation that renders the template. The templating engine evaluates the payload during rendering and runs the embedded code on the server. Refer to the Rhino Security Labs analysis of CVE-2024-46507 for a detailed technical walkthrough of the exploit chain.
Detection Methods for CVE-2024-46507
Indicators of Compromise
- Unexpected child processes spawned by the Yeti application process, such as /bin/sh, python, curl, or wget.
- New or modified custom export templates containing template syntax referencing __class__, __mro__, __subclasses__, os.popen, or subprocess.
- Outbound network connections from the Yeti host to unfamiliar IP addresses immediately after export operations.
- Web access logs showing repeated POST or PUT requests to template management endpoints from a single account.
Detection Strategies
- Review Yeti audit logs for creation or modification of export templates by non-administrative users.
- Hunt for SSTI payload signatures in HTTP request bodies, including {{, {%, __globals__, and config.__class__.
- Correlate template export events with process execution telemetry on the Yeti host to surface command spawning.
- Inspect the Yeti database for stored templates that contain Python introspection primitives.
Monitoring Recommendations
- Enable verbose application logging on the Yeti server and forward logs to a central SIEM for retention and analysis.
- Monitor the Yeti process tree for unexpected interpreter invocations and shell descendants.
- Alert on outbound connections from the Yeti host that fall outside expected threat-intel feed destinations.
- Track changes to the export templates table with database audit triggers.
How to Mitigate CVE-2024-46507
Immediate Actions Required
- Upgrade yeti-platform/yeti to version 2.1.12 or later as soon as possible.
- Restrict network access to the Yeti web interface to trusted analyst networks only.
- Audit all existing custom export templates and remove any that contain unexpected template directives.
- Rotate credentials, API tokens, and integration secrets stored on or accessible from the Yeti host if exploitation is suspected.
Patch Information
The maintainers fixed the vulnerability in Yeti 2.1.12. Operators should pull the updated container image or upgrade the Python package, then restart the Yeti service. Verify the running version after upgrade and confirm that the custom template export endpoint enforces the fix. The Rhino Security Labs advisory documents the affected code paths.
Workarounds
- Disable the custom template export feature until the upgrade is applied, where deployment configuration permits.
- Limit template creation and modification permissions to a small set of trusted administrators.
- Place the Yeti instance behind a web application firewall configured to block common SSTI payload patterns.
- Run the Yeti service as an unprivileged user inside a hardened container to reduce blast radius if exploited.
# Upgrade Yeti to a patched version
pip install --upgrade 'yeti-platform>=2.1.12'
# Or pull the patched container image and restart
docker pull yetiplatform/yeti:2.1.12
docker compose down && docker compose up -d
# Verify the installed version
python -c "import yeti; print(yeti.__version__)"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


