Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Coolify web interface
-
DeliveryIntercept Livewire ActivityMonitor HTTP request
-
ExploitEnumerate sequential integer activity IDs
-
ExecutionRead cross-team SSH process activity outputs
-
ImpactExtract embedded credentials and secrets
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Exploitation requires a valid authenticated user account on the Coolify instance (PR:L per CVSS vector). The vulnerability is present in the default Coolify configuration whenever the ActivityMonitor Livewire component is accessible, which is standard for any Coolify deployment. No special permissions, admin role, or specific feature toggle is needed beyond basic login. Exploitation is limited to instances with multiple teams or users - a single-user deployment has no cross-team data to enumerate. The key limiting factor is that attackers must have a legitimate account on the target Coolify instance; anonymous or unauthenticated exploitation is not possible per the CVSS PR:L metric. |
| Impact | The NVD CVSS 3.1 score of 5.0 with vector AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N reflects a medium-severity rating, but the C:L assignment likely understates real-world impact: SSH process outputs intercepted via this flaw can contain private keys, plaintext passwords, API tokens, and server configuration secrets that enable full infrastructure compromise beyond Coolify itself. The S:C (scope changed) metric correctly captures that exploitation crosses team isolation boundaries - a fundamental multi-tenancy breach. PR:L confirms authentication is required, which limits the attack surface to registered users of the Coolify instance, not anonymous internet actors. No EPSS score was provided, and the vulnerability is not listed in CISA KEV, indicating no confirmed active exploitation. However, the near-zero attack complexity (sequential integer guessing requires no tooling) means any authenticated user can exploit this immediately. Real-world priority is HIGH for multi-tenant Coolify instances and LOW for single-user or single-team deployments where cross-team enumeration yields no additional access. |
| Exploit ScenarioDerived | An authenticated low-privilege user on a shared Coolify instance navigates to the ActivityMonitor component and intercepts the Livewire network request. They replace the activityId value with sequential integers - 1, 2, 3, and so on - in their browser's developer tools or a proxy, iterating through all activities recorded on the system. Within minutes they retrieve SSH deployment logs from other teams containing environment variables, database passwords, and private key material used in automated provisioning workflows. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 06, 2026
Insecure Direct Object Reference (IDOR) in Coolify's ActivityMonitor Livewire component allows any authenticated user to enumerate and read activity records belonging to other teams, including full SSH process command outputs that may contain secrets, credentials, and infrastructure configuration details. Affected are all Coolify self-hosted deployments prior to version 4.0.0-beta.471. No special privileges beyond a valid user account are required, and auto-incrementing integer activity IDs make enumeration trivial. No public exploit code has been identified at time of analysis and this CVE is not in CISA KEV, but the low attack complexity and sensitive data exposure make this a meaningful risk for multi-tenant Coolify deployments.
RemediationAI
Upgrade to Coolify version 4.0.0-beta.471 or later, which adds the Livewire #[Locked] attribute to $activityId and enforces team-scoped authorization on activity lookups, as detailed in the security advisory at https://github.com/coollabsio/coolify/security/advisories/GHSA-962v-gxmw-56hc and the pull request at https://github.com/coollabsio/coolify/pull/9189. For deployments that cannot immediately upgrade, a compensating control is to restrict Coolify access to a single trusted user or team per instance, eliminating cross-team exposure. Alternatively, network-level access controls (firewall, VPN, allowlisting) should restrict who can reach the Coolify web interface, reducing the pool of users who could exploit this. Auditing existing activity logs for unexpected access patterns across teams is advisable post-remediation to assess whether exploitation occurred. Note that the workaround of restricting to single-team use carries the operational trade-off of breaking multi-tenant workflows.
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 built on Laravel with Livewire for reactive frontend components. Livewire exposes component properties to the client and, without the #[Locked] attribute, allows client-controlled property manipulation. The ActivityMonitor Livewire component's public $activityId property is tampered client-side, and the backend resolves it via Activity::find($this->activityId) with no team-scoping or authorization gate. Because activity IDs are auto-incrementing integers (a sequential primary key anti-pattern for sensitive resources), an attacker can iterate IDs 1, 2, 3... to retrieve all recorded activities across every team on the instance. CWE-639 (Authorization Through User-Controlled Key) is the root cause: authorization decisions are delegated to a user-supplied identifier with no ownership check. The CPE cpe:2.3:a:coollabsio:coolify:*:*:*:*:*:*:*:* confirms all versions prior to the fix are affected.
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:C/C:L/I:N/A:N
PR:L for required authentication; S:C for cross-team boundary violation; C:H because exposed SSH outputs routinely contain credentials enabling downstream infrastructure compromise.
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.471, the ActivityMonitor Livewire component exposes a public $activityId property without Livewire's #[Locked] attribute. It loads activities via Activity::find($this->activityId) with no authorization or team scoping. Activity IDs are auto-incrementing integers. Any authenticated user can enumerate activity records across all teams and read the full command output from remote SSH processes, which may include secrets, configuration files, and infrastructure details. This issue is fixed in version 4.0.0-beta.471.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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-41959
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB