Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Coder via OIDC (no refresh token issued)
-
DeliveryOIDC authorization revoked or token expires
-
ExploitCoder fails to enforce OIDC token expiry
-
ExecutionReuse APIKey cookie within 24h window
-
PersistCookie lifetime auto-extended
-
ImpactRetain Coder access indefinitely
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V7 - Session Management Session expiration enforcement
|
| Exploitation Conditions | Exploitation requires a specific configuration chain: (1) Coder authentication must use OIDC, and (2) the OpenID Identity Provider must NOT return a refresh token (or refresh tokens are not issued/disabled), since the bypass does not occur when a refresh token is present and refresh is enforced. The attacker must already be an authenticated Coder user (PR:L) holding a valid APIKey cookie, and must continue using Coder at least once per 24-hour window to keep the cookie's lifetime auto-extending. LIMITING FACTORS: the APIKey lifetime-extension behavior can be disabled by configuration, which removes the indefinite-access property; the flaw grants no new access to an attacker who never had a valid session; and it depends entirely on the IdP's refresh-token behavior, making it a non-default, deployment-specific condition rather than a universally exploitable flaw. |
| Impact | This is a genuinely low-priority issue, and the signals are consistent rather than conflicting. The CVSS 4.0 base score is 2.3 (Low), reflecting a weak impact profile (VC:L/VI:L/VA:N, no subsequent-system impact) and - critically - an Attack Requirement (AT:P) that mirrors the real precondition: the OIDC Identity Provider must not issue a refresh token. Privileges Required is Low (PR:L), meaning the attacker is already an authenticated Coder user, so this is a privilege/session-retention issue rather than an initial-access break. No EPSS score, CISA KEV listing, POC, or SSVC decision data was supplied; there is no public exploit identified at time of analysis, and no evidence of active exploitation. The impact is bounded: a user who has lost OIDC authorization can continue using Coder beyond the IdP token expiry, but they must already possess a valid Coder session and cannot gain new access or elevate privileges. The absence of EPSS/KEV/POC data is expected for a low-severity, recently disclosed flaw and should not be read as a gap that hides higher risk - the vulnerability class (CWE-613, insufficient session expiration) and vendor description both point to a limited, access-continuity problem. Vendor advisory (GHSA-3rw9-wmc8-8948) and VulnCheck confirm the mechanism and the fix. |
| Exploit ScenarioDerived | An employee logs into Coder via OIDC against an identity provider that does not return a refresh token (or where refresh tokens are disabled). After the employee is deprovisioned or loses OIDC authorization, their Coder APIKey cookie remains valid; by simply using Coder at least once within each 24-hour window, the cookie's lifetime keeps extending, letting them access the service indefinitely despite no longer being authorized. No public exploit code is required - the bypass occurs through normal, continued use of the existing session. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 17, 2026
Session expiration bypass in Coder before 2.23.0 lets authenticated OIDC users retain access after their identity provider token expires when the IdP does not issue a refresh token. Because the APIKey cookie can auto-extend by 24 hours on each successful use, a user who keeps using Coder can remain logged in beyond OIDC authorization; exploitation requires a specific non-default OIDC deployment, and no public exploit was identified at time of analysis.
RemediationAI
Upgrade to Coder 2.23.0 or later, which enforces OIDC token expiry when no refresh token is issued; the fixed Go package is go/github.com/coder/coder/v2 2.23.0, and the upstream patch commit is https://github.com/coder/coder/commit/1a4160803589034ce1518e24a78f232c8d08f996. Review the vendor advisory at https://github.com/coder/coder/security/advisories/GHSA-3rw9-wmc8-8948 for deployment-specific guidance. If immediate upgrade is not possible, disable the APIKey lifetime-extension behavior so sessions cannot be kept alive indefinitely by regular use; this compensating control may increase reauthentication frequency and disrupt long-running sessions. Where the OIDC IdP supports it, ensure refresh tokens are issued so Coder can enforce refresh failure, or shorten APIKey/session lifetimes, understanding that this reduces usability and does not fully replace the patch.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Coder uses OpenID Connect (OIDC) for user authentication and stores the OIDC token and any refresh token in its datastore while setting an APIKey cookie for the web session. When a refresh token exists, Coder attempts to refresh the OIDC token after expiry and fails the API request if refresh fails. In affected versions, when the OpenID Identity Provider does not return a refresh token, Coder fails to enforce OIDC token expiry and continues accepting the APIKey cookie. Coder APIKeys have a 24-hour expiry but are configured to extend lifetime by up to 24 hours on successful use, so regular use can keep the cookie alive. This is CWE-613 insufficient session expiration. The CPE cpe:2.3:a:coder:coder:*:*:*:*:*:*:*:* identifies Coder before 2.23.0; the Go package go/github.com/coder/coder/v2 lists vulnerable versions < 2.23.0 and fixed in 2.23.0. The issue is low impact because it requires an already authenticated user, an OIDC deployment without refresh tokens, and ongoing use within each 24-hour window, and it grants no new access to users who never had a valid session.
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:L/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Authenticated user (PR:L) over the network (AV:N); AC:H reflects the required condition that the IdP issues no refresh token; limited impact (C:L/I:L, A:N) as it only extends existing access.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Coder before 2.23.0 contains a session expiration bypass vulnerability that allows authenticated users to retain access after OIDC token expiry when no refresh token is issued. Users can keep their APIKey cookie active through regular use, extending it every 24 hours to access Coder indefinitely after losing OIDC authorization.
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
Cross-organization file disclosure in Coder's provisioner daemon (versions 2.30.0 through 2.34.7) lets an authenticated
Information disclosure in Coder 2.26.0 through 2.34.7 lets authenticated users who have been granted workspace 'use' acc
EUVD-2025-211113
GHSA-hpmf-3824-qwg6
NVD
CVE.org
EPSS
Exploit-DB