CVE-2025-34157 Public
Stored XSS in Coolify’s project delete flow ( Critical , 9.4 CVSS)
A stored Cross-Site Scripting (XSS) vulnerability exists in the project delete flow of Coolify ≤ v4.0.0-beta.420.6.
A low-privileged member can create a project with malicious data that triggers JavaScript execution when an administrator deletes it.
Affected Versions: ≤ v4.0.0-beta.420.6
Fixed in: v4.0.0-beta.420.7
CWE: CWE-79 (XSS), CWE-20 (Improper Input Validation)
Severity: Critical (9.4)
Root Cause:
- Project metadata (name/description) is not sanitized before being rendered in the deletion confirmation flow.
Proof of Concept (PoC)
1. Log in with a regular (non-admin) user account.
2. Create a new project with the following malicious name:
<details x=xxxxxxxxxxxxxxxxxx:2 open ontoggle="prompt('PoC');">
3. Inside this project, add any resource (e.g., GitLab, Docker image, etc.).
4. When an administrator try to delete the project, the payload is automatically executed.
Impact:
- Account/session takeover (cookies, tokens)
- Access to projects, terminals, and API keys
- Full compromise of Coolify instance if exploited.
Exploitability: Remote, low privileges, requires admin interaction.
The issue was fixed in Coolify v4.0.0-beta.420.7.
Mitigation includes:
• Sanitize and escape project metadata before rendering
• Enforce strict Content-Security-Policy (CSP)
• Validate user inputs against XSS payloads