Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach Coder login endpoint via appending proxy
-
DeliveryCraft request with forged leftmost X-Forwarded-For
-
ExploitMiddleware trusts spoofed client IP
-
ExecutionRotate IPs to bypass per-IP rate limit
-
ImpactRun unthrottled credential brute-force and falsify audit logs
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication IP-independent access control
|
| Exploitation Conditions | Exploitation requires Coder (before 2.34.7) to be deployed behind a reverse proxy that APPENDS the client IP to X-Forwarded-For rather than overwriting it - the ExtractRealIPAddress middleware trusts the leftmost (client-controlled) value, so the attacker-supplied address is honored. This matches the CVSS AT:P attack requirement. No authentication is required (PR:N) and no user interaction is needed (UI:N); the attacker only needs network reachability to the login, one-time-passcode, or password-validation endpoints and the ability to set the X-Forwarded-For header. Limiting factors: if Coder is exposed directly or fronted by a proxy that strips/overwrites X-Forwarded-For, the leftmost value is not attacker-trusted and exploitation fails; impact is further bounded to rate-limit bypass and audit-log IP falsification, not direct code execution or data disclosure. |
| Impact | This is a genuine but moderate-severity issue, not a critical priority. The CVSS 4.0 base score of 6.3 (AV:N/AC:L/AT:P/PR:N/UI:N) reflects network-reachable, unauthenticated access with low attack complexity, but with an Attack Requirement (AT:P) - the flaw only manifests when Coder sits behind an appending reverse proxy - and impact limited to integrity (VI:L), with no confidentiality or availability effect. No EPSS score, CISA KEV listing, or POC is present in the supplied data; per the precision rules this means no public exploit is identified at time of analysis, so there is no evidence of active or automatable exploitation. The practical impact is indirect: bypassing per-IP rate limits on login, one-time-passcode, and password-validation endpoints weakens brute-force defenses, and forged X-Forwarded-For values corrupt audit-log attribution. These signals are internally consistent (low integrity impact, attack-requirement gated, no direct code execution or data disclosure), so this is a real but defense-in-depth-level issue rather than a drop-everything emergency. Key missing data: EPSS probability and POC status are absent and cannot be inferred - treat exploitation likelihood as unquantified. |
| Exploit ScenarioDerived | An attacker targeting a Coder deployment behind an appending reverse proxy sends repeated login or one-time-passcode requests, each carrying a different forged leftmost X-Forwarded-For value, so the ExtractRealIPAddress middleware attributes each attempt to a distinct fake client IP and never trips the per-IP rate limit. This lets the attacker run an unthrottled credential brute-force while simultaneously poisoning audit logs with spoofed source addresses. No public exploit code is identified, but the technique requires only crafted HTTP headers (AV:N/AC:L). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 17, 2026
IP spoofing in the Coder platform (versions before 2.34.7) allows unauthenticated remote attackers to bypass per-IP rate limits by forging the leftmost X-Forwarded-For header value, which the ExtractRealIPAddress middleware incorrectly trusts when Coder sits behind a proxy that appends rather than overwrites that header. This enables sustained brute-force attempts against login, one-time passcode, and password validation endpoints, and also lets attackers falsify the source IPs recorded in audit logs. No public exploit code or confirmed active exploitation was identified at time of analysis, and impact is bounded to integrity (rate-limit bypass and log falsification) rather than code execution or data disclosure.
RemediationAI
Upgrade Coder to version 2.34.7 or later, which corrects how ExtractRealIPAddress resolves the client address (see GHSA-vprw-xcrv-287h). If upgrading immediately is not possible, harden the proxy layer: configure your reverse proxy to overwrite rather than append the X-Forwarded-For header (for example nginx proxy_set_header X-Forwarded-For $remote_addr; instead of $proxy_add_x_forwarded_for), or have the proxy strip the incoming header entirely; the trade-off is that you lose the full original proxy-chain history, which may matter for some audit workflows. Alternatively, restrict network access so only the trusted proxy can reach Coder's login, one-time passcode, and password-validation endpoints, and add rate limiting at the proxy or WAF using the connection's real source address rather than header values - this does not fix the audit-log falsification issue but blunts the brute-force angle. Audit existing logs for login and OTP events with inconsistent or spoofed-looking source addresses, and be aware that rate-limit counters keyed on the spoofable value are not reliable for detection.
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 remote development platform, and deployments commonly sit behind a reverse proxy (nginx, Traefik, cloud load balancers). The vulnerable ExtractRealIPAddress middleware implements a naive client-IP resolution strategy: it takes the leftmost entry of the X-Forwarded-For header as the client address. In a standard proxy chain, each hop appends the address of the peer connecting to it, so the rightmost values are the ones added by infrastructure you control, while the leftmost value is whatever the original client claimed - i.e., fully attacker-controlled. The correct pattern is to trust only the proxy-appended value (typically the rightmost hop, or an offset from the right known to be proxy-supplied), or to overwrite rather than append the header at the proxy. The root cause maps to CWE-348 (Use of Less Trusted Source), since a security decision (rate-limit attribution and audit-log identity) is made using a data element an untrusted party controls. The CVSS 4.0 vector carries AT:P, reflecting that exploitation only succeeds in the specific deployment configuration where an appending proxy forwards the forged header; if Coder is directly exposed or the proxy overwrites X-Forwarded-For, the trust condition fails and the attack does not work.
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:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Remote unauthenticated header spoofing with low complexity (AV:N/AC:L/PR:N/UI:N); only integrity is affected (I:L) via rate-limit bypass and audit-log falsification, no confidentiality or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Coder before 2.34.7 contains an IP spoofing vulnerability in the ExtractRealIPAddress middleware that trusts the leftmost, client-supplied X-Forwarded-For value instead of the client IP appended by a reverse proxy. Attackers can send forged X-Forwarded-For values through appending proxies to bypass per-IP rate limits on login, one-time passcode, and password validation endpoints, enabling brute-force attacks, and to falsify IP addresses recorded in audit logs.
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
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
Open redirect in Coder workspace-app proxy (versions 2.0.0 through 2.34.7) lets unauthenticated attackers craft links on
EUVD-2026-103301
GHSA-wxhj-4mx9-pqgf
NVD
CVE.org
EPSS
VulDB
Exploit-DB