Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Coolify panel
-
DeliveryCreate or edit PostgreSQL resource
-
ExploitInject shell payload in postgres_user/postgres_db
-
ExecutionCoolify builds shell-form healthcheck
-
PersistCommand executes in database container
-
ImpactAchieve code execution and data access
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 authenticated Coolify account (CVSS PR:L) with the ability to create or configure a PostgreSQL database resource, because the injection point is the attacker-controlled postgres_user and postgres_db settings used in the healthcheck command. The specific precondition is that the attacker can set these database configuration fields and that the instance runs a version prior to 4.0.0-beta.474 where healthcheck commands are built in shell form. Limiting factors: it is NOT unauthenticated (a valid, sufficiently privileged panel user is needed), so single-operator/trusted-admin-only deployments face little real risk, while multi-tenant instances or those granting database-management rights to untrusted users are directly exposed; code execution is confined to the PostgreSQL database container (scope unchanged, S:U) rather than the Coolify host. |
| Impact | The vendor-assigned CVSS 3.1 score is 8.8 (High) with vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, indicating a network-reachable, low-complexity attack requiring only low privileges and no user interaction, yielding full compromise of the targeted database container. The PR:L metric is the key limiter: this is not an unauthenticated flaw - the attacker must already hold a valid Coolify account with permission to define or edit a PostgreSQL resource. No EPSS score was supplied in the input, so exploitation probability cannot be quantified here, and no SSVC decision was provided. The vulnerability is not in CISA KEV and no POC was referenced, so this is best treated as a high-severity-but-not-yet-exploited issue: a genuine priority for any multi-tenant or internet-exposed Coolify deployment where untrusted users have panel access, but lower urgency for single-operator instances where the only authenticated user is already the administrator. No conflicting signals were observed between the CVSS vector and the description - both consistently point to authenticated, network-facing exploitation. |
| Exploit ScenarioDerived | An attacker with a low-privileged but valid Coolify account creates or edits a PostgreSQL database and sets the postgres_user or postgres_db field to a value embedding shell metacharacters (for example, a name containing a command-substitution or a chained command). When Coolify generates and runs the container healthcheck in shell form, the injected payload executes inside the database container as its runtime user. Given AV:N/AC:L, this requires only routine panel interaction and no special timing or victim action; no public POC was referenced in the source data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 06, 2026
Command injection in Coolify self-hosted PaaS versions prior to 4.0.0-beta.474 allows an authenticated user to run arbitrary OS commands inside the PostgreSQL database container by supplying malicious postgres_user or postgres_db values that are interpolated into shell-form healthcheck commands (CWE-78). Because the CVSS vector is PR:L/UI:N with full high impact to confidentiality, integrity, and availability, any user able to create or configure a database can achieve container-level code execution. There is no public exploit identified at time of analysis and it is not listed in CISA KEV.
RemediationAI
Vendor-released patch: upgrade Coolify to version 4.0.0-beta.474 or later, which replaces the vulnerable shell-form healthcheck construction (see release https://github.com/coollabsio/coolify/releases/tag/v4.0.0-beta.474 and advisory https://github.com/coollabsio/coolify/security/advisories/GHSA-gvc4-f276-r88p). If immediate upgrade to a beta build is not acceptable, reduce exposure by restricting who can create or edit PostgreSQL database resources - limit Coolify accounts and team membership to fully trusted operators, since exploitation requires an authenticated user able to set postgres_user/postgres_db; the trade-off is reduced self-service capability for tenants. Additionally, avoid exposing the Coolify management dashboard directly to the internet (place it behind a VPN or IP allowlist) to shrink the pool of potential authenticated attackers, accepting the operational overhead of gated access. Do not rely on input validation you cannot verify; the definitive fix is the upgrade.
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 alternative to Heroku/Netlify/Vercel that provisions and manages servers, applications, and databases (typically via Docker containers). The flaw is a classic OS command injection (CWE-78): Coolify builds the PostgreSQL healthcheck command in shell form and concatenates user-controllable database settings - postgres_user and postgres_db - directly into that string without neutralizing shell metacharacters. When the healthcheck runs inside the database container, an attacker-supplied value such as a semicolon or command substitution is interpreted by the shell rather than treated as data. The affected component is coollabsio:coolify (CPE cpe:2.3:a:coollabsio:coolify:*), and the root cause is the use of shell-form command construction instead of exec-form argument arrays or proper escaping.
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:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-reachable panel, low complexity, requires an authenticated user able to set database config (PR:L), no interaction; injected commands fully compromise the database container (C/I/A:H, scope unchanged).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Coolify is an open-source and self-hostable tool for managing servers, applications, and databases. Prior to 4.0.0-beta.474, PostgreSQL healthcheck command generation used attacker-controlled database settings (postgres_user and postgres_db) in shell-form commands, allowing an authenticated user to inject commands executed in the database container. This issue is fixed in version 4.0.0-beta.474.
Articles & Coverage 1
Executive ViewAI
Coolify self-hosted PaaS versions prior to 4.0.0-beta.474 contain a high-severity command injection vulnerability that allows any authenticated database administrator to execute arbitrary operating system commands with container-level privileges. This directly threatens the confidentiality and integrity of all applications and data managed through affected Coolify instances. Organizations must immediately restrict database configuration permissions and monitor for unauthorized access until a patch is released.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict database configuration access to least-privilege service accounts; (2) Implement container runtime security policies to monitor and prevent privilege escalation; (3) Enable detailed audit logging for all database configuration changes in Coolify; (4) Segment Coolify containers using network policies to limit lateral movement if container escape occurs.
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.
Cross-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-41960
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB