Skip to main content

Coolify CVE-2026-100744

| EUVDEUVD-2026-87817 MEDIUM
Missing Authorization (CWE-862)
2026-09-27 VulDB GHSA-wv46-wr7m-42rh
5.5
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privileged Coolify user
  2. Delivery
    Identify victim resource UUID
  3. Exploit
    Send update request to protected route
  4. Execution
    Middleware skips missing authorization check
  5. Impact
    Modify another team's application/database/server

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires reaching the resource-update routes guarded by the CanUpdateResource route-level middleware in Coolify <= 4.1.2, whose authorization body (Gate::allows('update', $resource)) was fully commented out. Realistically it requires a valid authenticated Coolify account (any team role), since these routes sit behind login - despite the vendor's PR:N rating. No user interaction or non-default configuration is needed; any multi-user/multi-team instance is exposed. The limiting factors are the need for authentication and that single-user/single-team deployments have less to abuse. Fixed by upgrading to 4.2.0.

Impact

This is a genuine broken-access-control flaw with strong corroborating evidence, not just a paper vulnerability. The GitHub PR diff (#10829) is decisive: the entire body of the CanUpdateResource route middleware was commented out, meaning the Gate::allows('update', $resource) authorization check never executed for resource-update routes (applications, standalone databases, stack services, services, servers, environments, projects). CWE-862 (missing authorization) is accurate. The vendor/VulDB CVSS 4.0 base is 6.9 with E:P (proof-of-concept) and a published exploit archive on GitHub, so 'publicly available exploit code exists.' No CISA KEV listing and no EPSS score were provided, so there is no evidence of active mass exploitation - the E:P/POC signal indicates exploitability is demonstrated but not yet observed in the wild. The most important conflict to flag: the vendor vector states PR:N (unauthenticated), yet CanUpdateResource is an authorization layer that sits behind Coolify's login/authentication; the realistic prerequisite is a valid but low-privileged authenticated account (PR:L), and the missing check lets that account modify resources belonging to other teams/users. I also disagree with the uniformly Low impact (VC:L/VI:L/VA:L): the affected routes govern updates to servers and databases in a self-hosted PaaS, so integrity impact is realistically higher. Net: a real, moderate-to-high priority issue for anyone running multi-user/multi-team Coolify instances, tempered by the fact that some form of authenticated access is needed and real-world deployment is developer/self-hoster oriented.

Exploit ScenarioDerived

A low-privileged authenticated Coolify user (e.g., a member of one team) sends a normal resource-update request whose route parameter references an application, database, or server UUID belonging to a different team. Because the CanUpdateResource middleware body was commented out, no ownership/permission gate runs and the update is accepted, letting the attacker reconfigure or redeploy resources they do not own. A proof-of-concept exploit archive has been published on GitHub.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 27, 2026

Missing authorization in Coolify up to and including 4.1.2 allows remote attackers to perform resource-update operations they are not entitled to, because the CanUpdateResource route-level middleware was shipped with its entire authorization body - the Gate::allows('update', $resource) check and the surrounding resource-resolution logic - commented out, turning it into a no-op pass-through. Any multi-user or multi-team Coolify deployment on 4.1.2 or earlier is exposed across application, database, service, server, environment and project update routes; the vendor's CVSS 4.0 vector rates the flaw PR:N while the assessed CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L) indicates a valid authenticated Coolify account is realistically required, since the affected routes sit behind login. Publicly available exploit code exists and upgrading to 4.2.0 fixes the issue; there is no CISA KEV listing, so this is not confirmed active exploitation.

RemediationAI

Vendor-released patch: upgrade Coolify to 4.2.0 or later (release https://github.com/coollabsio/coolify/releases/tag/v4.2.0, PR https://github.com/coollabsio/coolify/pull/10829, commit 39ae16de4248075de8c08f3259114e064b20d52d), which restores the missing Gate::allows('update', $resource) check in CanUpdateResource.php and tightens TeamPolicy's admin/owner methods to team-scoped isAdminOfTeam() checks; this is the only complete fix and should be scheduled urgently on any instance running 4.1.2 or earlier. If immediate upgrade is not possible, compensating controls are limited and each carries trade-offs: restrict network access to the Coolify admin UI and API through firewall rules, VPN or reverse-proxy IP allowlists so only trusted operators can reach the update routes (blocks legitimate remote/CI-driven management traffic), audit and remove unused non-admin team members to reduce the pool of authenticated accounts that can abuse the no-op middleware (reduces but does not eliminate risk, since any valid account suffices), and review Coolify audit/application logs for unexpected resource-update calls from low-privilege users (detective only, requires logging to be retained and reviewed). Because publicly available exploit code exists, treat any authenticated account on an unpatched multi-team instance as capable of unauthorized resource modification; after upgrading, rotate credentials and review resources for unauthorized changes. No CISA KEV listing currently indicates active exploitation, and no workaround short of upgrading fully restores the intended authorization enforcement.

Affected VersionsENISA

coolify 4.1.1
coolify 4.1.2
coolify 4.1.0

Affected Packages

euvd coolify no fix

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 a PHP/Laravel self-hosted PaaS control panel, and the defect sits in app/Http/Middleware/CanUpdateResource.php, a route-level middleware guarding resource-update endpoints. The affected code class is CWE-862 (Missing Authorization): the middleware body that resolved the route-bound resource (via application_uuid, database_uuid, stack_service_uuid, service_uuid, server_uuid, environment_uuid or project_uuid) and then called Gate::allows('update', $resource) with an abort(403) fallback was left commented out, so requests passed straight through to $next($request) without any policy evaluation. The fix restores a dependency-injected Request, adds a ROUTE_RESOURCE_MODELS constant mapping each route parameter to its Eloquent model(s) (Application; StandalonePostgresql, StandaloneMysql, StandaloneMariadb, StandaloneRedis, StandaloneKeydb, StandaloneDragonfly, StandaloneClickhouse, StandaloneMongodb; ServiceApplication/ServiceDatabase; Service; Server; Environment; Project), resolves the UUID, aborts 404 when no resource is found and 403 when the update gate denies. The same patch also tightens TeamPolicy, replacing broad $user->isAdmin() || $user->isOwner() checks with the team-scoped $user->isAdminOfTeam($team->id), showing that the release addressed instance-wide privilege leakage as well as the middleware bypass. CPE cpe:2.3:a:coollabsio:coolify:*:*:*:*:*:*:*:* matches the wildcard version range treated as 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

Vendor (VulDB) PRIMARY 5.5 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
vuln.today AI 7.6 HIGH

Authenticated low-priv user (PR:L, not PR:N) bypasses the ownership gate to modify arbitrary applications/databases/servers, so integrity is high with some confidentiality/availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
CVSS changed
Sep 27, 2026 - 02:22 NVD
6.9 (MEDIUM) 5.5 (MEDIUM)
CVE Published
Sep 27, 2026 - 01:15 cve.org
MEDIUM 6.9

DescriptionCVE.org

A flaw has been found in coollabsio Coolify up to 4.1.2. The affected element is an unknown function of the file app/Http/Middleware/CanUpdateResource.php of the component Route-Level Middleware. Executing a manipulation can lead to missing authorization. The attack may be launched remotely. The exploit has been published and may be used. Upgrading to version 4.2.0 is sufficient to fix this issue. This patch is called 39ae16de4248075de8c08f3259114e064b20d52d. It is advisable to upgrade the affected component.

Threat Intelligence Overview

EPSS Score
0.5%
Top 63% exploitable
Prevalence
Low
self-hosted PaaS popular with developers/homelabs, limited enterprise production footprint
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

48
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2026-57498 CRITICAL POC
9.6 Jun 29

Cross-team authorization bypass in Coolify (open-source self-hosted PaaS) before 4.0.0-beta.474 allows an authenticated,

CVE-2025-34161 CRITICAL POC
9.4 Aug 27

Coolify versions prior to v4.0.0-beta.420.7 are vulnerable to a remote code execution vulnerability in the project deplo

CVE-2025-34159 CRITICAL POC
9.4 Aug 27

Coolify versions prior to v4.0.0-beta.420.6 are vulnerable to a remote code execution vulnerability in the application d

CVE-2025-64424 CRITICAL POC
9.4 Jan 05

Command injection in Coolify up to and including v4.0.0-beta.434 lets any authenticated low-privileged 'member' execute

CVE-2025-59156 CRITICAL POC
9.4 Jan 05

Remote code execution on the host OS is possible through Coolify's application deployment workflow prior to version 4.0.

CVE-2025-66211 CRITICAL POC
9.4 Dec 23

Authenticated command injection in Coolify's PostgreSQL initialization-script filename handling allows users with applic

CVE-2025-66210 CRITICAL POC
9.4 Dec 23

Coolify versions prior to 4.0.0-beta.451 pass user-supplied database names unsanitized into shell commands executed via

CVE-2025-66213 CRITICAL POC
9.4 Dec 23

Authenticated Coolify users who hold application or service management permissions can execute arbitrary commands as roo

CVE-2025-66212 CRITICAL POC
9.4 Dec 23

Authenticated command injection in Coolify before 4.0.0-beta.451 lets users with application or service management permi

CVE-2025-59158 CRITICAL POC
9.4 Jan 05

Stored cross-site scripting in Coolify versions up to and including v4.0.0-beta.420.6 lets an authenticated low-privileg

CVE-2026-34594 HIGH POC
8.8 Jun 29

Authenticated OS command injection in Coolify before 4.0.0-beta.471 lets any user holding destination management permiss

CVE-2026-34597 HIGH POC
8.8 Jun 29

Authenticated remote code execution in Coolify (self-hosted PaaS) before 4.0.0-beta.470 lets a low-privileged authentica

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy