Skip to main content

Tugtainer EUVDEUVD-2026-48329

| CVE-2026-47752 CRITICAL
Improper Neutralization of Special Elements Used in a Template Engine (CWE-1336)
2026-07-23 GitHub_M
9.9
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to Tugtainer with valid account
  2. Delivery
    Inject Jinja2 payload into notification body_template
  3. Exploit
    Trigger notification rendering in unsandboxed Environment
  4. Execution
    Escape to os.system for command execution
  5. Persist
    Run arbitrary commands as root in container
  6. Impact
    Pivot via Docker socket to other containers

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V1 - Encoding and Sanitization Template injection prevention
Exploitation Conditions

Exploitation requires an authenticated Tugtainer account (CVSS PR:L) and the ability to set the notification title_template or body_template fields, which are rendered by an unsandboxed jinja2.Environment; the payload fires when a notification is generated/rendered. No user interaction by a victim is needed (UI:N) and the vector is network-reachable (AV:N). The primary limiting factor is that the attacker must first hold valid credentials on the instance - so risk is highest for multi-user deployments or any instance with weak/default/shared logins or public exposure. Applies to all versions before 1.30.2.

Impact

The signals are largely consistent and point to a genuine high priority where an attacker already has any authenticated account. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H = 9.9) reflects network reachability, low complexity, no user interaction, and a scope change from the template engine to the host OS - all plausible for unsandboxed Jinja2 leading to root RCE. The principal limiter is PR:L: exploitation requires an authenticated account, so this is not an unauthenticated internet worm but a privilege-escalation-to-RCE for any logged-in user, which is severe in multi-user or exposed self-hosted deployments. No EPSS score, KEV entry, or POC was provided, so exploitation-likelihood cannot be quantified from the input; however, SSTI-to-RCE via unsandboxed jinja2.Environment is a well-understood, easily weaponized pattern, so the low observed exploit signal likely reflects the product's small footprint rather than technical difficulty. No SSVC decision data was supplied.

Exploit ScenarioDerived

An attacker with any valid Tugtainer login opens the notification settings and sets the body_template (or title_template) to a Jinja2 payload such as one that walks Python's object model to reach os.popen and run a reverse-shell or arbitrary command. When a notification renders, the payload executes as root inside the container, giving the attacker command execution and, via the mounted Docker socket, potential control over other containers. No public POC was identified at time of analysis, but the technique is standard SSTI exploitation with low complexity.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 23, 2026

Server-side template injection in Tugtainer (self-hosted Docker container auto-update tool) versions before 1.30.2 lets any authenticated user achieve root-level OS command execution by injecting Jinja2 expressions into notification templates. The title_template and body_template fields are rendered by an unsandboxed jinja2.Environment, so template payloads escape into arbitrary code running as root inside the container. Rated CVSS 9.9 with a scope change; no public exploit identified at time of analysis, and it is not listed in CISA KEV.

RemediationAI

Vendor-released patch: 1.30.2 - upgrade Tugtainer to 1.30.2 or later, which remediates the SSTI, and pull the corresponding container image and redeploy. If an immediate upgrade is not possible, restrict who can reach and authenticate to the Tugtainer instance (place it behind a VPN or trusted network segment and remove any public exposure), and limit accounts to trusted administrators only since any authenticated user can trigger the flaw; avoid granting notification-template editing to untrusted users. As defense in depth, run the container as a non-root user and drop unnecessary capabilities where the deployment allows, accepting that this may break Tugtainer's ability to manage other containers via the Docker socket. Consult the vendor advisory at https://github.com/Quenary/tugtainer/security/advisories/GHSA-g2cj-2x47-78vq for authoritative guidance.

Affected VersionsENISA

tugtainer < 1.30.2

Affected Packages

euvd tugtainer fix: 1.30.2

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

The flaw is CWE-1336 (Improper Neutralization of Special Elements Used in a Template Engine), the SSTI-specific weakness class. Tugtainer's notification feature accepts user-controlled title_template and body_template strings and passes them to a raw jinja2.Environment rather than jinja2.sandbox.SandboxedEnvironment. Jinja2's object model exposes Python internals through attributes such as __class__, __mro__, __subclasses__, and __globals__, which an attacker chains to reach os.system or subprocess and run shell commands. Because Tugtainer runs with the Docker socket and root privileges typical of container-management tooling, that code executes as root inside the container. The affected package is identified by CPE cpe:2.3:a:quenary:tugtainer:*:*:*:*:*:*:*:*.

Know when Tugtainer 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

Vendor (GitHub_M) PRIMARY 9.9 CRITICAL
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 9.9 CRITICAL

Authenticated user (PR:L) sends a network request (AV:N) with no interaction; unsandboxed Jinja2 escapes to root OS execution, a scope change (S:C) yielding full C/I/A impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Jul 23, 2026 - 19:03 EUVD
CVE Published
Jul 23, 2026 - 16:57 cve.org
CRITICAL 9.9

DescriptionCVE.org

Tugtainer is a self-hosted app for automating updates of Docker containers. Versions prior to 1.30.2 are vulnerable to Server-Side Template Injection (SSTI) in the notification template feature. The title_template and body_template fields are rendered using an unsandboxed jinja2.Environment, allowing any authenticated user to execute arbitrary OS commands as root inside the container. Version 1.30.2 fixes the issue.

Executive ViewAI

Why It Matters

Tugtainer, a self-hosted Docker container auto-update tool, contains a critical template injection vulnerability (CVE-2026-47752, CVSS 9.9) affecting versions before 1.30.2 that allows authenticated users to execute arbitrary commands with root privileges inside running containers. This directly threatens the integrity and availability of containerized workloads across any organization using Tugtainer, with potential for lateral movement through compromised infrastructure. Immediate action is required to isolate affected Tugtainer instances and restrict administrative access until a patch is available.

Business Impact: Severe
Compensating Controls

Until vendor patch is released: (1) Restrict Tugtainer authentication to a minimal set of trusted administrators with multi-factor authentication; (2) Implement network-level access controls to limit administrative connections to Tugtainer management ports; (3) Disable or remove all custom notification templates and use only default static templates; (4) Deploy container security policies (AppArmor/SELinux) to limit command execution capabilities within Tugtainer containers; (5) Enable audit logging on all Tugtainer configuration changes and monitor for suspicious Jinja2 expressions in template fields; (6) Run Tugtainer with the minimum required privileges and avoid root-level container execution where possible.

Threat Intelligence Overview

EPSS Score
0.4%
Top 68% exploitable
Prevalence
Low
niche self-hosted hobbyist Docker auto-update tool, small deployment footprint
Social Media
1
Sightings
Data Quality
6 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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

50
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +50
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

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