Coolify
CVE-2025-59158
CRITICAL
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege member
-
DeliveryCreate project with malicious JavaScript name
-
ExploitPayload stored unescaped
-
ExecutionAdmin opens delete workflow
-
PersistScript executes in admin browser
-
ImpactHijack admin session / act as admin
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding for downstream
|
| Exploitation Conditions | Requires (1) an authenticated account with at least low-privilege 'member' role on the Coolify instance, and (2) the specific project-creation workflow where a project name is stored without output escaping (CWE-116). Exploitation is NOT self-triggering: the stored payload only fires when a higher-privileged administrator later opens the delete flow for that project or its associated resource (UI:P/UI:R). Limiting factors: multi-tenant or team deployments where untrusted members can create projects are the realistic exposure; single-admin self-hosted instances with no untrusted members are effectively not exposed. Affected in versions up to and including v4.0.0-beta.420.6; patched in v4.0.0-beta.420.7. |
| Impact | Signals are mixed and point to a moderate, not critical, real-world priority despite the vendor's CVSS 4.0 base of 9.4. The 9.4 is inflated because the vendor rated all impact metrics High (VC/VI/VA:H and subsequent SC/SI/SA:H); for a stored XSS whose payload runs in an administrator's browser, the realistic direct impact is closer to Low confidentiality/integrity with a scope change, not full High across the board. The attack is authenticated (PR:L - a low-privilege member role is required) and conditioned on victim interaction (UI:P), namely an administrator later opening the delete workflow for the malicious project/resource, which meaningfully constrains automatic or drive-by exploitation. EPSS is very low at 0.05% (15th percentile), consistent with no observed mass exploitation. There is NO CISA KEV listing, so this is not confirmed as actively exploited; however, publicly available exploit/advisory detail exists via the GitHub Security Advisory (GHSA-h52r-jxv9-9vhf). Net: this is a legitimate, patch-worthy stored XSS with a plausible admin-account-compromise pivot (Coolify manages servers/apps/databases, so hijacking an admin session could cascade to infrastructure control), but the authentication requirement, required admin interaction, and low EPSS place it below true critical urgency. The gap between the vendor 9.4 and these mitigating factors should be reconciled - the base score overstates impact for a browser-context XSS. |
| Exploit ScenarioDerived | A low-privilege member in a shared Coolify instance creates a new project whose name embeds a JavaScript payload. The payload is stored unescaped and lies dormant until an administrator navigates to delete that project or its associated resource, at which point the script executes in the admin's authenticated browser context and can steal the admin session or issue actions as the admin. Public advisory detail exists (GHSA-h52r-jxv9-9vhf), lowering the bar to reproduce. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Sep 30, 2026
Stored cross-site scripting in Coolify versions up to and including v4.0.0-beta.420.6 lets an authenticated low-privilege member create a project whose name contains JavaScript; the payload runs in an administrator's browser when the admin later opens the delete flow for that project or an associated resource. Publicly available exploit code exists, but EPSS is low (0.05%, 15th percentile) and no CISA KEV active-exploitation signal was provided, so practical priority is moderate despite the vendor's CVSS 4.0 base of 9.4; the independent CVSS 3.1 assessment is AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N, reflecting the need for a member account and administrator interaction. Exposure mainly affects multi-tenant or team deployments where untrusted members can create projects, while single-admin self-hosted instances without untrusted members are effectively not exposed.
Earlier versions of this analysis (1)
Coolify is an open-source and self-hostable tool for managing servers, applications, and databases. Coolify versions prior to and including v4.0.0-beta.420.6 are vulnerable to a stored cross-site scripting (XSS) attack in the project creation workflow. [CVSS 8.0 HIGH]
RemediationAI
Upgrade Coolify to v4.0.0-beta.420.7 or later; the vendor-released patch is 4.0.0-beta.420.7 and is documented in the GitHub advisory at https://github.com/coollabsio/coolify/security/advisories/GHSA-h52r-jxv9-9vhf. If immediate upgrade is not possible, restrict project-creation privileges so only fully trusted administrators can create or rename projects, remove low-privilege member roles from tenants that do not need them, and audit existing project names for embedded script before administrators use the delete UI; because opening the delete flow can trigger stored payloads, inspect and sanitize project names through database or API access rather than by clicking delete. A WAF or reverse-proxy rule that blocks script tags and event handlers in project-name fields can add temporary protection but may cause false positives on legitimate names and does not remediate stored payloads already in the database. Post-upgrade, verify that output encoding is applied in the delete workflow and review administrator accounts for suspicious activity.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Coolify is a self-hostable server, application, and database management platform (coollabs:coolify). The vulnerability is a stored XSS instance rooted in CWE-116 (Improper Encoding or Escaping of Output): a project name is persisted without context-appropriate output encoding and later rendered in the administrator delete workflow, allowing injected JavaScript to execute in the Coolify origin under the admin's session. The CVSS 4.0 vector supplied by the vendor is CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H, while the independent assessment uses CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N, which keeps the requirement for a low-privilege authenticated member and administrator interaction while rating confidentiality and integrity impact as low rather than high. Affected CPE data covers the coollabs:coolify product and multiple v4.0.0 beta channels, with the flaw fixed in 4.0.0-beta.420.7.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Authenticated member (PR:L) stores XSS that needs an admin to open the delete flow (UI:R); payload executes cross-context in the admin browser (S:C) with typical Low confidentiality/integrity XSS impact and no availability effect.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
5DescriptionCVE.org
Coolify is an open-source and self-hostable tool for managing servers, applications, and databases. Coolify versions prior to and including v4.0.0-beta.420.6 are vulnerable to a stored cross-site scripting (XSS) attack in the project creation workflow. An authenticated user with low privileges (e.g., member role) can create a project with a maliciously crafted name containing embedded JavaScript. When an administrator later attempts to delete the project or its associated resource, the payload automatically executes in the admin’s browser context. Version 4.0.0-beta.420.7 contains a patch for the issue.
Executive ViewAI
Coolify deployments up to and including v4.0.0-beta.420.6 are affected by a stored cross-site scripting flaw that allows an authenticated low-privilege member to run JavaScript in an administrator's browser during project or resource deletion. In multi-tenant or team settings with untrusted members, this can compromise administrator sessions and allow unauthorized actions across managed resources, while single-admin self-hosted instances without untrusted members are effectively not exposed. Leadership should prioritize inventory, least privilege, and monitoring because publicly available exploit code exists and no vendor-released patch identified at time of analysis, though exploitation requires a member account and administrator interaction.
No vendor-released patch identified at time of analysis; interim mitigations include restricting project creation to trusted administrators, removing or disabling untrusted member accounts in multi-tenant deployments, enforcing MFA and least privilege for Coolify administrators, monitoring for suspicious project/resource names and admin session activity, and avoiding opening delete flows for untrusted projects until a fix is released. Apply vendor patch when available.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Affected Products (CPE)CVE.org
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
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
Command injection in Coolify's Git Repository field during project creation allows an authenticated member account to ru
NVD
CVE.org
EPSS
GitHub
Exploit-DB