Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid org-scoped provisioner key
-
DeliveryLearn target organization's module file UUID
-
ExploitCall DownloadFile gRPC handler with foreign UUID
-
ExecutionAuthorization check bypassed, archive returned
-
ImpactExtract infrastructure topology or embedded secrets
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
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 a multi-organization Coder deployment running an affected version (2.30.0 through 2.34.7) and an attacker possessing a valid org-scoped provisioner key (PR:L) PLUS prior knowledge of the specific file UUID of a target organization's cached Terraform module archive. The authorization bypass is in the provisioner daemon's DownloadFile gRPC handler, which does not validate cross-organization ownership of the requested file. Limiting factors: UUIDs are not enumerable/guessable (driving the high attack complexity), so the attacker must already know or obtain the target identifier out of band; a legitimate provisioner credential is mandatory, so this is not exploitable by fully unauthenticated external attackers; and single-organization deployments have no other organization's data to disclose, materially reducing real-world exposure. |
| Impact | This is a medium-severity (CVSS 4.0 base 6.0) authorization bypass (CWE-863) in Coder's provisioner daemon DownloadFile gRPC handler, and the available signals consistently point to a moderate, non-urgent priority rather than a top-of-queue emergency. The CVSS 4.0 vector (AV:N/AC:H/AT:N/PR:L/UI:N) confirms a network-reachable flaw but with high attack complexity and required privileges: an attacker must already hold a valid org-scoped provisioner key (PR:L) AND know a specific target file UUID (AC:H), which cannot be feasibly brute-forced. Impact is confidentiality-only (VC:H, VI:N, VA:N, no scope/subsequent-system impact), meaning disclosure of cross-organization cached Terraform module archives but no integrity or availability damage. No EPSS score, SSVC decision, KEV listing, or POC is present in the input - so exploitation probability signals are absent, not low; there is no public exploit identified at time of analysis and no evidence of active exploitation. The practical risk is driven by the sensitivity of what the modules may contain (infrastructure topology, embedded secrets), which could enable follow-on attacks, but the dual prerequisites (valid provisioner credential + known UUID) make this a targeted-insider or compromised-tenant scenario rather than a widespread, automatable threat. Bottom line: a real but bounded cross-tenant data-leak issue for multi-org Coder deployments; patch in the normal cycle, prioritizing higher if you run shared multi-organization Coder with sensitive Terraform modules. |
| Exploit ScenarioDerived | In a multi-organization Coder deployment, an attacker who controls (or has compromised) a provisioner daemon in Organization A uses its valid org-scoped provisioner key to call the DownloadFile gRPC handler with a file UUID belonging to Organization B's cached Terraform module archive. Because the handler fails to enforce organization ownership, it returns Organization B's module source, potentially exposing infrastructure topology or embedded secrets. The high attack complexity (the attacker must already know the specific target UUID) and the requirement for a legitimate provisioner credential limit this to insiders or an attacker who has already gained a foothold; no public exploit code is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 17, 2026
Cross-organization file disclosure in Coder's provisioner daemon (versions 2.30.0 through 2.34.7) lets an authenticated attacker holding an org-scoped provisioner key retrieve another organization's cached Terraform module archives through the DownloadFile gRPC handler. Exploitation is constrained by high attack complexity because the attacker must already know the target file's UUID, which is not enumerable, and single-organization deployments have no cross-org data to expose. No public exploit or proof-of-concept code has been identified at time of analysis, and the issue is assessed as medium severity (CVSS 4.0 base 6.0; assessed CVSS 3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N).
RemediationAI
Upgrade to Coder 2.34.8 or later, which is the vendor-released fix; see the GitHub security advisory GHSA-hrhj-hpwc-9hmc for details. If an immediate upgrade is not possible, restrict each provisioner key to a single organization and avoid reusing org-scoped provisioner keys across organizations - the trade-off is reduced operational flexibility for multi-tenant provisioning. Rotate any org-scoped provisioner keys that may have been exposed and audit cached Terraform module archives for embedded secrets or sensitive infrastructure details, rotating those secrets as needed. As a temporary compensating control, limit network access to the provisioner gRPC endpoint to trusted daemon hosts; this reduces exposure but will break provisioning for legitimate daemons outside the allowlist. Because exploitation requires prior knowledge of a target file UUID, monitoring provisioner gRPC DownloadFile calls for cross-organization file access attempts can help detect abuse.
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
Coder is a self-hosted cloud development environment platform that uses provisioner daemons - gRPC services authenticated by organization-scoped provisioner keys - to build workspaces. The affected component is the provisioner daemon's DownloadFile gRPC handler, which serves cached Terraform module archives. The root cause is CWE-863 (Incorrect Authorization): the handler does not validate that the requested file belongs to the organization associated with the calling provisioner key, so an org-scoped daemon can request a file UUID belonging to another organization and receive its cached module archive. Terraform module source can reveal infrastructure topology and may contain embedded secrets. The CPE cpe:2.3:a:coder:coder:*:*:*:*:*:*:*:* covers the affected release line 2.30.0 through 2.34.7. Attack complexity is high because file UUIDs are not enumerable or guessable - the attacker must already know or obtain the target identifier out of band - and a legitimate org-scoped provisioner credential is mandatory, so this is not exploitable by fully unauthenticated external attackers. Multi-organization deployments are required for cross-org impact; single-organization deployments have no other organization's data to disclose.
Know when Coder 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:H/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable gRPC handler (AV:N) but requires a valid provisioner key (PR:L) and knowledge of an unguessable file UUID (AC:H); confidentiality-only disclosure with no integrity or availability impact and same security authority (S:U).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Coder from 2.30.0 before 2.34.8 contains an authorization bypass vulnerability in the provisioner daemon DownloadFile gRPC handler that allows authenticated provisioner daemons to download other organizations' cached Terraform module archives. Attackers with an org-scoped provisioner key and a known file UUID can retrieve module source code exposing infrastructure topology or embedded secrets.
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.
Coder allows organizations to provision remote development environments via Terraform. Rated high severity (CVSS 8.1), t
Coder allows organizations to provision remote development environments via Terraform. Prior to 2.26.5, 2.27.7, and 2.28
code-server is vulnerable to Inefficient Regular Expression Complexity. Rated high severity (CVSS 7.5), this vulnerabili
Versions of the package code-server before 4.10.1 are vulnerable to Missing Origin Validation in WebSockets handshakes.
Credential theft in Coder (before 2.29.20, 2.33.0 through 2.33.11, 2.34.0 through 2.34.7, and 2.35.0 through 2.35.3) let
Authenticated Coder users who control a modified workspace agent can redirect the control plane's workspace-agent API re
Coder deployments that run workspace agents on Google Compute Engine with GCP instance-identity authentication accept re
Coder allows oragnizations to provision remote development environments via Terraform. Rated high severity (CVSS 8.2), t
Coder self-hosted deployments expose an unauthenticated account-enumeration oracle that lets remote attackers distinguis
IP spoofing in the Coder platform (versions before 2.34.7) allows unauthenticated remote attackers to bypass per-IP rate
Information disclosure in Coder 2.26.0 through 2.34.7 lets authenticated users who have been granted workspace 'use' acc
Open redirect in Coder workspace-app proxy (versions 2.0.0 through 2.34.7) lets unauthenticated attackers craft links on
EUVD-2026-103296
GHSA-4rvr-p6cc-jh6c
NVD
CVE.org
EPSS
VulDB
Exploit-DB