
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-114437 is a client IP spoofing vulnerability in the Golang Chi web framework's ClientIPFromXFF middleware that allows unauthenticated remote attackers to forge their apparent client IP address by manipulating the X-Forwarded-For header. It affects github.com/go-chi/chi/v5 versions prior to 5.4.0 (≤ 5.3.2). The vulnerability was reported to the Chi project on October 6, 2026, patched in version 5.4.0 on October 12, 2026, and publicly disclosed on October 21, 2026. It carries a CVSS v3.1 base score of 4.8 (Medium) and a CVSS v4.0 base score of 6.3 (Medium) (Tenable Advisory, GitHub Advisory).
The root cause is an origin validation error (CWE-346 / CWE-348) in the ClientIPFromXFF function located in middleware/client_ip.go. The walkXFF function iterates over attacker-controlled X-Forwarded-For header values, skipping entries that match a configured trusted CIDR — but it never validates that the actual TCP peer (http.Request.RemoteAddr) is itself within that trusted CIDR. As a result, any client with direct TCP access to the Go server can append a trusted-looking proxy IP to the X-Forwarded-For header (e.g., X-Forwarded-For: <desired-ip>, <trusted-proxy-cidr-ip>), causing middleware.GetClientIP to return the attacker-chosen IP. The precondition is that the application uses ClientIPFromXFF with a configured trusted CIDR and that the origin server is reachable by clients outside that CIDR (GitHub Advisory, Tenable Advisory).
Successful exploitation allows an unauthenticated attacker to bypass IP-based access controls by impersonating any allowlisted client IP address, potentially gaining unauthorized access to protected application endpoints (e.g., administrative handlers). The integrity impact includes unauthorized authorization decisions (e.g., HTTP 403 → 200 OK), and the confidentiality impact includes exposure of data or functionality restricted to trusted IP ranges. Availability is not affected, and the scope is limited to the vulnerable application itself (GitHub Advisory, Feedly).
A proof-of-concept (PoC) is included in the GitHub security advisory and was confirmed by Tenable during coordinated disclosure; the NVD SSVC assessment also classifies exploitation status as "poc." No evidence of in-the-wild exploitation has been observed, and the EPSS score is 0.0. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires only a single unauthenticated HTTP request with a crafted X-Forwarded-For header, but the attacker must have direct TCP access to the Go server (bypassing any upstream proxy), which raises the attack complexity (Tenable Advisory, GitHub Advisory).
ClientIPFromXFF middleware and IP-based access controls. Determine the trusted proxy CIDR configured in the middleware (e.g., 198.51.100.0/24) and the allowlisted client IP (e.g., 10.0.0.7).curl -i http://<target>/admin. Expect a 403 Forbidden response with an empty client-ip.X-Forwarded-For header with the desired spoofed client IP followed by an IP within the trusted proxy CIDR: X-Forwarded-For: <allowlisted-ip>, <trusted-proxy-cidr-ip> (e.g., X-Forwarded-For: 10.0.0.7, 198.51.100.42).curl -i -H 'X-Forwarded-For: 10.0.0.7, 198.51.100.42' http://<target>/admin.198.51.100.42) and returns 10.0.0.7 as the client IP, causing the application to grant access and return 200 OK (GitHub Advisory)./admin) arriving directly at the origin server (not via a legitimate reverse proxy) with X-Forwarded-For headers containing multiple IP addresses, where the last entry falls within a configured trusted proxy CIDR.X-Forwarded-For values that include both an internal/allowlisted IP and a trusted-proxy-range IP, originating from an unexpected external RemoteAddr; successful 200 OK responses to protected endpoints from direct connections that should have been rejected.Upgrade github.com/go-chi/chi/v5 to version 5.4.0 or later, which validates that the direct TCP peer (http.Request.RemoteAddr) belongs to the configured trusted CIDR before trusting X-Forwarded-For entries. As a network-level workaround, implement network segmentation to ensure the Go origin server is only reachable from legitimate proxy servers within the trusted CIDR, preventing untrusted clients from making direct TCP connections. Applications that do not use ClientIPFromXFF or do not rely on IP-based access controls are not affected (Tenable Advisory, GitHub Advisory).
The vulnerability was discovered and reported by Joshua Martinelle of Tenable through coordinated disclosure with the Chi maintainers, who acknowledged the issue and released a fix (PR #1214) within six days of the initial report. The Chi security advisory was published by maintainer VojtechVitek on October 12, 2026, and Red Hat opened a tracking bug (Bugzilla #2558305) with 59 CC'd users, indicating broad interest across Red Hat product teams. No significant broader media coverage or notable social media commentary has been identified beyond standard vulnerability database aggregation (Tenable Advisory, Red Hat Bugzilla).
Fix availability across major Linux distributions and their releases.
bookworm
golang-github-go-chi-chi
sid
golang-github-go-chi-chi
trixie
golang-github-go-chi-chi
devel
golang-github-go-chi-chi
jammy
golang-github-go-chi-chi
jammy (esm-apps)
golang-github-go-chi-chi
noble
golang-github-go-chi-chi
noble (esm-apps)
golang-github-go-chi-chi
resolute
golang-github-go-chi-chi
resolute (esm-apps)
golang-github-go-chi-chi
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."