Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Skyvern with low-privilege account
-
DeliveryCreate or modify workflow with TextPromptBlock
-
ExploitInject Jinja2 SSTI payload into workflow parameter or upstream block output
-
ExecutionWorkflow executes, sandboxed first render passes payload through
-
PersistSecond unsandboxed render in send_prompt evaluates payload
-
ImpactArbitrary OS command executes with server process privileges
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V1 - Encoding and Sanitization Template injection prevention
|
| Exploitation Conditions | Exploitation requires a valid authenticated Skyvern user account with permission to create or modify workflows (CVSS PR:L confirms low-privilege authentication). The attacker must specifically be able to control input that reaches a TextPromptBlock - either directly through workflow parameter definitions or indirectly through the output of an upstream workflow block whose results are interpolated into the TextPromptBlock prompt. Skyvern versions 1.0.45 and later are not exploitable due to the architectural fix. Limiting factors: a valid user account is mandatory (unauthenticated exploitation is not possible per PR:L); the target workflow must use TextPromptBlock with externally-influenced parameters; and exploitation is scoped to deployments running Skyvern before 1.0.45. No special OS configuration, non-default feature flag, or specific network topology is required beyond reachability to the Skyvern instance. |
| Impact | The CVSS 4.0 score of 8.7 with vector AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H is consistent with the actual exploitation profile: network-reachable, no special attack conditions, low-privilege authentication required, and full confidentiality, integrity, and availability impact on the vulnerable system. PR:L is the primary mitigating factor - exploitation is gated on possessing a valid workflow user account. The vulnerability is not in CISA KEV and no dedicated POC has been identified in the provided data; however, generic Jinja2 SSTI-to-RCE techniques are publicly well-understood and require no specialized knowledge, effectively lowering the practical exploitation barrier for authenticated users. EPSS data was not provided in the input. The SC:N/SI:N/SA:N in the CVSS 4.0 base vector suggests the reporter assessed no cross-system scope change, though server-process RCE realistically enables lateral movement and host-level compromise beyond the Skyvern process itself - defenders should treat the blast radius as broader than the base vector implies. |
| Exploit ScenarioDerived | An attacker with a low-privilege Skyvern user account creates or modifies a workflow containing a TextPromptBlock, injecting a Jinja2 class-traversal payload such as {{ ''.__class__.__mro__[1].__subclasses__()[-1]('id', shell=True).communicate()[0] }} into a workflow parameter. When the workflow executes, the payload survives the first sandboxed render and is re-evaluated verbatim in the unsandboxed load_prompt_from_string call, executing the OS command with the privileges of the Skyvern server process. No dedicated public exploit code has been identified at time of analysis, but exploitation follows standard Jinja2 SSTI techniques that are widely published. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 29, 2026
Server-side template injection in Skyvern's TextPromptBlock before version 1.0.45 allows authenticated workflow users to achieve remote code execution at server process privileges. The flaw arises from a double-rendering design defect: user-controlled workflow parameters are first rendered through a sandboxed Jinja2 environment, then re-rendered through an unsandboxed call inside send_prompt, defeating the sandbox entirely. No public exploit has been identified at time of analysis, but Jinja2 SSTI exploitation is well-documented, making this a low-effort path for any attacker holding a workflow user account.
RemediationAI
Upgrade to Skyvern 1.0.45 or later, which resolves the double-render by removing parameter_values from send_prompt's signature and ensuring all template rendering occurs exclusively through the sandboxed format_potential_template_parameters() call. The upstream fix is in commit d723de621d5b3a340f3cc4d5b46bfe40a9a3124e at https://github.com/Skyvern-AI/skyvern/commit/d723de621d5b3a340f3cc4d5b46bfe40a9a3124e. If an immediate upgrade is not feasible, restrict workflow creation and modification permissions to fully trusted users only, as the vulnerability requires control over workflow parameters or upstream block output. Audit existing workflows for Jinja2 template syntax (e.g., {{ }}, {% %}) in parameter values that would not be expected from legitimate use. Note that access restriction is a compensating control only and does not eliminate the vulnerability - it solely reduces the pool of users who could exploit it.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Skyvern is a Python-based AI browser automation platform that uses Jinja2 templating to construct LLM prompts within its workflow engine. The TextPromptBlock (skyvern/forge/sdk/workflow/models/block.py) is responsible for assembling and delivering prompts. The root cause, classified under CWE-1336 (Improper Neutralization of Special Elements Used in a Template Engine), is that parameter values collected from workflow context were passed into send_prompt, which then called load_prompt_from_string for a second render - this time without sandbox restrictions. An attacker controlling any parameter or upstream block output that feeds into a TextPromptBlock can embed Jinja2 directives such as class hierarchy traversal chains that the sandbox would normally block. The fix in commit d723de621d5b3a340f3cc4d5b46bfe40a9a3124e eliminates the second render entirely: send_prompt now receives an already-rendered string and no longer accepts or re-processes parameter_values, ensuring format_potential_template_parameters() is the sole and sandboxed render point. Affected CPE: cpe:2.3:a:skyvern-ai:skyvern:*:*:*:*:*:*:*:*.
Know when Skyvern 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:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network-reachable via authenticated workflow submission, low complexity, PR:L required; no scope change assessed consistent with CVSS 4.0 SC:N baseline.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Skyvern before 1.0.45 contains a sandbox escape vulnerability in TextPromptBlock that renders prompts twice, first through a sandboxed Jinja environment and then through an unsandboxed environment. Attackers can inject malicious Jinja template syntax through workflow parameters or upstream block output to execute arbitrary code with server process privileges.
Executive ViewAI
Skyvern TextPromptBlock before version 1.0.45 allows authenticated workflow users to execute arbitrary code at server process privileges through a template injection flaw. This creates direct risk to data confidentiality and system integrity. Organizations must immediately upgrade to version 1.0.45 or later to prevent full system compromise.
Apply vendor patch.
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
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
EUVD-2026-68096
GHSA-57gg-9j2p-5v4x
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB