Skip to main content

Go Chi EUVDEUVD-2026-107261

| CVE-2026-114437 MEDIUM
Use of Less Trusted Source (CWE-348)
6.3
CVSS 4.0 · Vendor: tenable
View

Attack ChainAIDerived

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

  1. Access
    Reach Go server directly bypassing proxy
  2. Exploit
    Craft X-Forwarded-For with trusted proxy address
  3. Execution
    Middleware GetClientIP returns spoofed IP
  4. Impact
    Bypass IP allowlist / rate limit / forge logs

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V6 - Authentication IP-independent access control
Exploitation Conditions

Exploitation requires the target application to use chi's ClientIPFromXFF middleware configured with at least one trusted CIDR, AND to consume the resulting value via middleware.GetClientIP for a security-relevant purpose (IP allowlisting, rate limiting, geolocation, or audit logging). The attacker must be able to connect to the Go server directly rather than exclusively through the legitimate reverse proxy, because the bug is that RemoteAddr (the direct TCP peer) is never checked against the trusted CIDR. Limiting factors: the vulnerable middleware is opt-in and not part of chi's default routing; the attacker benefits from knowing the configured trusted CIDR to append a convincing proxy address; and if a fronting proxy strips or overwrites X-Forwarded-For and no direct network path to the Go server exists, exploitation is blocked. Deployments that do not derive trust from the client IP are unaffected in practice.

Impact

This is a moderate-severity logic flaw (CWE-348, Use of Less Trusted Source / IP spoofing) in the go-chi ClientIPFromXFF middleware, scored CVSS 4.0 6.3 by the reporter. The 4.0 vector (AV:N/AC:H/PR:N/UI:N) shows an unauthenticated, remotely reachable issue but with high attack complexity and only Low confidentiality and integrity impact (VC:L/VI:L) and no availability impact - consistent with trust/spoofing bugs rather than code execution. No EPSS score, CISA KEV listing, or public POC was provided in the input, so by the precision rule the status is 'no public exploit identified at time of analysis.' The real-world priority is conditional rather than universal: the flaw only matters for applications that both enable this specific middleware with a trusted-CIDR configuration AND make security decisions (access control, rate limiting, audit logging) based on the returned client IP. Where that pattern exists the bug is genuinely exploitable and meaningful; where it does not, impact is negligible. The AC:H rating is reasonable because the attacker must reach the Go server directly (bypassing legitimate proxies) and understand the configured trusted CIDRs. No signals conflict; the chief limiting factor is the non-default, configuration-dependent nature of the vulnerable code path.

Exploit ScenarioDerived

An application uses chi's ClientIPFromXFF middleware with a trusted proxy CIDR and enforces IP-based access control or rate limiting via GetClientIP. An attacker who can reach the Go server directly (not through the real proxy) sends a request with a crafted X-Forwarded-For header appending a trusted-looking proxy address, causing the middleware to return an attacker-chosen client IP and thereby spoof their source to bypass IP allowlists, evade rate limits, or forge audit log entries. No public exploit code was identified in the provided data, though the technique is trivial to reproduce once the trusted CIDR is known.

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

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

Alert me

AnalysisAIv1 – Oct 21, 2026

IP spoofing in Go Chi before 5.4.0 allows an unauthenticated client that can reach the Go server directly to forge its apparent source address through the opt-in ClientIPFromXFF middleware. The middleware skips X-Forwarded-For entries that fall inside a configured trusted CIDR but never verifies that the direct TCP peer in http.Request.RemoteAddr belongs to that same CIDR, so an attacker can append a trusted-looking proxy address and control the value returned by middleware.GetClientIP. This is a moderate-severity logic flaw (CWE-348) that matters only where applications use the derived client IP for allowlisting, rate limiting, geolocation, or audit logging; no public exploit identified at time of analysis.

RemediationAI

Upgrade go-chi/chi to 5.4.0 or later, which is the first release not listed as affected; the fix should cause the middleware to validate the direct TCP peer in http.Request.RemoteAddr against the trusted CIDR set before honoring X-Forwarded-For entries. If immediate upgrade is not possible, restrict network access so the Go server can only be reached through the legitimate reverse proxy and cannot be contacted directly, accepting that this may require firewall or security-group changes and could break direct-access workflows; alternatively, configure the fronting proxy to strip or overwrite any client-supplied X-Forwarded-For header before forwarding, with the trade-off that misconfigured proxies may still pass attacker-controlled values. Applications that cannot enforce either control should avoid using ClientIPFromXFF/GetClientIP for allowlisting, rate limiting, geolocation, or audit logging until patched, or add custom code that independently rejects requests whose RemoteAddr is outside the trusted proxy ranges. Vendor advisory: https://github.com/go-chi/chi/security/advisories/GHSA-j6qf-3m9c-vwj3.

Affected VersionsENISA

chi 0 <5.4.0

Affected Packages

go github.com/go-chi/chi/v5 fix: 5.4.0
euvd chi fix: 5.4.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 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

The issue is a CWE-348 (Use of Less Trusted Source) logic error in the go-chi/chi Go web framework's ClientIPFromXFF middleware. X-Forwarded-For is an HTTP header that any client can supply, and the middleware is designed to derive the real client IP by walking that header and skipping entries that belong to configured trusted proxy CIDRs. The defect is that the trust decision is applied only to XFF entries; the direct TCP peer address in http.Request.RemoteAddr, which Go's net/http server populates from the actual connection, is never checked against the trusted CIDR set. Consequently, a client with a direct network path to the Go server can prepend or append an address inside the trusted range and have it accepted as the originating proxy hop, causing middleware.GetClientIP to return an attacker-chosen value. The vulnerable code is opt-in and not part of chi's default routing, so the underlying technology exposure depends on application configuration: the CPE cpe:2.3:a:go-chi:chi:*:*:*:*:*:*:*:* covers all chi releases before 5.4.0 across platforms. Exploitation is conditional on the target using ClientIPFromXFF with at least one trusted CIDR and consuming GetClientIP for a security-relevant decision, and is blocked when a fronting proxy strips or overwrites X-Forwarded-For and no direct path to the Go server exists.

Know when Chi 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 (tenable) PRIMARY 6.3 MEDIUM
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.8 MEDIUM

Remote and unauthenticated (AV:N/PR:N) but AC:H because it needs the opt-in trusted-CIDR middleware and direct server reach; spoofed IP yields Low C and I, no availability impact.

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

Primary rating from Vendor (tenable).

CVSS VectorVendor: tenable

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

Lifecycle Timeline

2
Patch available
Oct 21, 2026 - 15:02 EUVD
CVSS changed
Oct 21, 2026 - 14:23 NVD
4.8 (MEDIUM) 6.3 (MEDIUM)

DescriptionCVE.org

In the Golang Chi web framework, the ClientIPFromXFF middleware skips any X-Forwarded-For entry in a configured trusted CIDR but never verifies that the direct TCP peer in http.Request.RemoteAddr belongs to that CIDR. A client that can reach the Go server directly can therefore append a trusted-looking proxy address and choose the client IP returned by middleware.GetClientIP.

This issue affects chi before 5.4.0.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Medium
popular Go HTTP router, but vulnerable XFF middleware is opt-in
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub

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.1%
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
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

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