Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Tugtainer with valid account
-
DeliveryInject Jinja2 payload into notification body_template
-
ExploitTrigger notification rendering in unsandboxed Environment
-
ExecutionEscape to os.system for command execution
-
PersistRun arbitrary commands as root in container
-
ImpactPivot 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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
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
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
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.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.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.
Articles & Coverage 2
Executive ViewAI
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.
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
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Tugtainer versions before 1.16.1 transmit authentication credentials through URL query parameters rather than request bo
Unauthenticated attackers can reach the Tugtainer Agent's Docker management API and gain effectively full control over c
Improper access control in Tugtainer before version 1.30.3 causes the OIDC login flow to start even when OIDC_ENABLED=fa
Authenticated server-side request forgery in Tugtainer before version 1.30.6 allows any logged-in user with access to no
Command argument injection in the Tugtainer agent API (POST api/command/run) lets remote attackers append or substitute
In Tugtainer versions before 1.31.3, the OIDC login flow accepts unverified JWT claims from the identity provider's id_t
EUVD-2026-48329
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB