CVE-2026-72816
go-chi chi before 5.3.0 IP Spoofing via RealIP Middleware
go-chi/chi through 5.2.1 contains an IP spoofing vulnerability in the RealIP middleware (middleware/realip.go). The realIP() function reads client-controlled headers (True-Client-IP, X-Real-IP, and X-Forwarded-For) and overwrites r.RemoteAddr without verifying that the request originated from a trusted proxy. Attackers can supply arbitrary IP addresses in these headers to bypass IP-based access controls, evade rate limiting and geo-IP restrictions, and pollute audit logs. Fixed in 5.3.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.9
go-chi chi before 5.3.0 IP Spoofing via RealIP Middleware
go-chi/chi through 5.2.1 contains an IP spoofing vulnerability in the RealIP middleware (middleware/realip.go). The realIP() function reads client-controlled headers (True-Client-IP, X-Real-IP, and X-Forwarded-For) and overwrites r.RemoteAddr without verifying that the request originated from a trusted proxy. Attackers can supply arbitrary IP addresses in these headers to bypass IP-based access controls, evade rate limiting and geo-IP restrictions, and pollute audit logs. Fixed in 5.3.0.
- Record
CVE-2026-72816- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - Weakness
- CWE-290
- Updated
- 2026-11-02
EUVDEUVD-2026-58631
6.9
go-chi/chi through 5.2.1 contains an IP spoofing vulnerability in the RealIP middleware (middleware/realip.go). The realIP() function reads client-controlled headers (True-Client-IP, X-Real-IP, and X-Forwarded-For) and overwrites r.RemoteAddr without verifying that the request originated from a trusted proxy. Attackers can supply arbitrary IP addresses in these headers to bypass IP-based access controls, evade rate limiting and geo-IP restrictions, and pollute audit logs. Fixed in 5.3.0.
- Record
EUVD-2026-58631- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-rjr7-jggh-pgcp
7.7
chi's RealIP Middleware allows IP spoofing via unvalidated X-Forwarded-For header
Summary
realip middleware in go-chi/chi trusts headers like x-forwarded-for without checking them, so attackers can fake their ip and bypass rate limits or access controls
Details
the vuln is in middleware/realip.go , the realIP() function pulls IPs straight from client headers and replaces r.RemoteAddr without checking if the request came from a trusted proxy
func realIP(r *http.Request) string {
var ip string
if tcip := r.Header.Get(trueClientIP); tcip != "" {
ip = tcip // controlled by attacker
} else if xrip := r.Header.Get(xRealIP); xrip != "" {
ip = xrip // controlled by attacker
} else if xff := r.Header.Get(xForwardedFor); xff != "" {
ip, _, _ = strings.Cut(xff, ",") // controlled by attacker
}
// ...
return ip
}
no trusted proxy cidr check in place, any client can send these headers
PoC
create a server with chi and use realip middleware
package main
import (
"fmt"
"net/http"
"github.com/go-chi/chi/v5"
"github.com/go-chi/chi/v5/middleware"
)
func main() {
r := chi.NewRouter()
r.Use(middleware.RealIP)
r.Get("/admin", func(w http.ResponseWriter, r *http.Request) {
// ip-based access control got bypassed
if r.RemoteAddr == "127.0.0.1" {
w.Write([]byte("SECRET ADMIN DATA"))
return
}
http.Error(w, "Forbidden", 403)
})
http.ListenAndServe(":8080", r)
}
spoofed the ip to bypass access control
curl -H "X-Forwarded-For: 127.0.0.1" http://localhost:8080/admin
Impact
- ip-based access control bypass lets attackers reach restricted endpoints
- rate limiting bypass lets attackers avoid limits by rotating spoofed ips
- audit logs show fake ips picked by attacker instead of real ones
- attackers can get around geo ip restrictions
Remediation Recommendation
validate proxy cidr first before trusting forwarded ip headers
// add your reverse proxy ip addresses here
var trustedProxies = []net.IPNet{
{IP: net.ParseIP("10.0.0.0"), Mask: net.CIDRMask(8, 32)},
{IP: net.ParseIP("172.16.0.0"), Mask: net.CIDRMask(12, 32)},
{IP: net.ParseIP("192.168.0.0"), Mask: net.CIDRMask(16, 32)},
}
func isTrustedProxy(ip net.IP) bool {
for _, cidr := range trustedProxies {
if cidr.Contains(ip) {
return true
}
}
return false
}
- Record
GHSA-rjr7-jggh-pgcp- CVSS 4.0
- 7.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:P - Weakness
- CWE-290, CWE-348
- Updated
- 2026-11-02
GitHub AdvisoriesGHSA-xg24-pmhh-m4m9
6.9
go-chi/chi through 5.2.1 contains an IP spoofing vulnerability in the RealIP middleware ...
go-chi/chi through 5.2.1 contains an IP spoofing vulnerability in the RealIP middleware (middleware/realip.go). The realIP() function reads client-controlled headers (True-Client-IP, X-Real-IP, and X-Forwarded-For) and overwrites r.RemoteAddr without verifying that the request originated from a trusted proxy. Attackers can supply arbitrary IP addresses in these headers to bypass IP-based access controls, evade rate limiting and geo-IP restrictions, and pollute audit logs. Fixed in 5.3.0.
- Record
GHSA-xg24-pmhh-m4m9- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - Weakness
- CWE-290
- Updated
- 2026-11-02
NVD
6.9
go-chi/chi through 5.2.1 contains an IP spoofing vulnerability in the RealIP middleware (middleware/realip.go). The realIP() function reads client-controlled headers (True-Client-IP, X-Real-IP, and X-Forwarded-For) and overwrites r.RemoteAddr without verifying that the request originated from a trusted proxy. Attackers can supply arbitrary IP addresses in these headers to bypass IP-based access controls, evade rate limiting and geo-IP restrictions, and pollute audit logs. Fixed in 5.3.0.
- Record
CVE-2026-72816- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - Weakness
- CWE-290
- Updated
- 2026-11-02
OSV
6.9
go-chi chi before 5.3.0 IP Spoofing via RealIP Middleware
go-chi/chi through 5.2.1 contains an IP spoofing vulnerability in the RealIP middleware (middleware/realip.go). The realIP() function reads client-controlled headers (True-Client-IP, X-Real-IP, and X-Forwarded-For) and overwrites r.RemoteAddr without verifying that the request originated from a trusted proxy. Attackers can supply arbitrary IP addresses in these headers to bypass IP-based access controls, evade rate limiting and geo-IP restrictions, and pollute audit logs. Fixed in 5.3.0.
- Record
CVE-2026-72816- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-290
- Updated
- 2026-11-02
Show 14 moreShow less
OSVDEBIAN-CVE-2026-72816
6.9
go-chi/chi through 5.2.1 contains an IP spoofing vulnerability in the RealIP middleware (middleware/realip.go). The realIP() function reads client-controlled headers (True-Client-IP, X-Real-IP, and X-Forwarded-For) and overwrites r.RemoteAddr without verifying that the request originated from a trusted proxy. Attackers can supply arbitrary IP addresses in these headers to bypass IP-based access controls, evade rate limiting and geo-IP restrictions, and pollute audit logs. Fixed in 5.3.0.
- Record
DEBIAN-CVE-2026-72816- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Updated
- 2026-11-02
OSVGHSA-rjr7-jggh-pgcp
7.7
chi's RealIP Middleware allows IP spoofing via unvalidated X-Forwarded-For header
Summary
realip middleware in go-chi/chi trusts headers like x-forwarded-for without checking them, so attackers can fake their ip and bypass rate limits or access controls
Details
the vuln is in middleware/realip.go , the realIP() function pulls IPs straight from client headers and replaces r.RemoteAddr without checking if the request came from a trusted proxy
func realIP(r *http.Request) string {
var ip string
if tcip := r.Header.Get(trueClientIP); tcip != "" {
ip = tcip // controlled by attacker
} else if xrip := r.Header.Get(xRealIP); xrip != "" {
ip = xrip // controlled by attacker
} else if xff := r.Header.Get(xForwardedFor); xff != "" {
ip, _, _ = strings.Cut(xff, ",") // controlled by attacker
}
// ...
return ip
}
no trusted proxy cidr check in place, any client can send these headers
PoC
create a server with chi and use realip middleware
package main
import (
"fmt"
"net/http"
"github.com/go-chi/chi/v5"
"github.com/go-chi/chi/v5/middleware"
)
func main() {
r := chi.NewRouter()
r.Use(middleware.RealIP)
r.Get("/admin", func(w http.ResponseWriter, r *http.Request) {
// ip-based access control got bypassed
if r.RemoteAddr == "127.0.0.1" {
w.Write([]byte("SECRET ADMIN DATA"))
return
}
http.Error(w, "Forbidden", 403)
})
http.ListenAndServe(":8080", r)
}
spoofed the ip to bypass access control
curl -H "X-Forwarded-For: 127.0.0.1" http://localhost:8080/admin
Impact
- ip-based access control bypass lets attackers reach restricted endpoints
- rate limiting bypass lets attackers avoid limits by rotating spoofed ips
- audit logs show fake ips picked by attacker instead of real ones
- attackers can get around geo ip restrictions
Remediation Recommendation
validate proxy cidr first before trusting forwarded ip headers
// add your reverse proxy ip addresses here
var trustedProxies = []net.IPNet{
{IP: net.ParseIP("10.0.0.0"), Mask: net.CIDRMask(8, 32)},
{IP: net.ParseIP("172.16.0.0"), Mask: net.CIDRMask(12, 32)},
{IP: net.ParseIP("192.168.0.0"), Mask: net.CIDRMask(16, 32)},
}
func isTrustedProxy(ip net.IP) bool {
for _, cidr := range trustedProxies {
if cidr.Contains(ip) {
return true
}
}
return false
}
- Record
GHSA-rjr7-jggh-pgcp- CVSS 4.0
- 7.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:P - Weakness
- CWE-290, CWE-348
- Updated
- 2026-11-02
OSVRHSA-2026:49718
6.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:49718- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - Updated
- 2026-11-02
OSVRHSA-2026:49732
6.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:49732- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - Updated
- 2026-11-02
OSVRHSA-2026:54420
6.5
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:54420- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-72816
6.9
go-chi/chi through 5.2.1 contains an IP spoofing vulnerability in the RealIP middleware (middleware/realip.go). The realIP() function reads client-controlled headers (True-Client-IP, X-Real-IP, and X-Forwarded-For) and overwrites r.RemoteAddr without verifying that the request originated from a trusted proxy. Attackers can supply arbitrary IP addresses in these headers to bypass IP-based access controls, evade rate limiting and geo-IP restrictions, and pollute audit logs. Fixed in 5.3.0.
- Record
UBUNTU-CVE-2026-72816- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N - CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - Updated
- 2026-11-02
OSVAZL-96635 No score
CVE-2026-72816 affecting package gh for versions less than 2.97.0-1
go-chi/chi through 5.2.1 contains an IP spoofing vulnerability in the RealIP middleware (middleware/realip.go). The realIP() function reads client-controlled headers (True-Client-IP, X-Real-IP, and X-Forwarded-For) and overwrites r.RemoteAddr without verifying that the request originated from a trusted proxy. Attackers can supply arbitrary IP addresses in these headers to bypass IP-based access controls, evade rate limiting and geo-IP restrictions, and pollute audit logs. Fixed in 5.3.0.
- Record
AZL-96635- Updated
- 2026-11-02
OSVAZL-96689 No score
CVE-2026-72816 affecting package influxdb 2.7.5-23
go-chi/chi through 5.2.1 contains an IP spoofing vulnerability in the RealIP middleware (middleware/realip.go). The realIP() function reads client-controlled headers (True-Client-IP, X-Real-IP, and X-Forwarded-For) and overwrites r.RemoteAddr without verifying that the request originated from a trusted proxy. Attackers can supply arbitrary IP addresses in these headers to bypass IP-based access controls, evade rate limiting and geo-IP restrictions, and pollute audit logs. Fixed in 5.3.0.
- Record
AZL-96689- Updated
- 2026-11-05
OSVGO-2026-5777 No score
Chi's RealIP Middleware allows IP spoofing via unvalidated X-Forwarded-For header in github.com/go-chi/chi
Chi's RealIP Middleware allows IP spoofing via unvalidated X-Forwarded-For header in github.com/go-chi/chi
- Record
GO-2026-5777- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21645-1 No score
Security update for trivy
This update for trivy fixes the following issue:
- CVE-2026-72815,CVE-2026-72816,CVE-2026-72817: github.com/go-chi/chi/v5: multiple IP spoofing vulnerabilities allow authentication bypass, authorization override, and log forgery (bsc#1276128).
Changes for trivy:
- Update to version 0.74.0:
- release: v0.74.0 [main] (#11037)
- chore(deps): update golang.org/x modules (#11094)
- chore(deps): bump the docker group with 2 updates (#11090)
- docs: update release branch ruleset instructions (#11093)
- chore(deps): bump the common group across 1 directory with 7 updates (#11086)
- fix(misconf): unmark cty values outside the evaluation context (#11078)
- chore(deps): bump the aws group across 1 directory with 6 updates (#11053)
- fix(misconf): parse Azure flexible server parameters under their own names (#11072)
- chore(deps): bump the docker group with 2 updates (#11054)
- feat: add RapidFort curated image scanner (#10452)
- feat(java): resolve JAR license URLs to SPDX IDs (Bundle-License, pom <url>) (#10948)
- refactor(misconf): remove unused Azure expression-related code (#10637)
- fix(server): preserve check aliases and query in uploaded blobs (#11080)
- fix(java): read artifact properties only from the MANIFEST.MF main section (#11066)
- fix(terraform): support OpenTofu language block (#10923)
- chore(deps): bump github.com/go-git/go-git/v5 from 5.19.1 to 5.19.2 (#11063)
- ci: trigger Auto Ready for Review after Test docs (#11045)
- docs: remove trivy-checks from AWS ECR locations (#11044)
- refactor(ubuntu): move EOL version resolution out of loop (#11047)
- fix(python): normalize dependency names in PEP 621 pyproject.toml (#11050)
- chore(deps): bump oras.land/oras-go/v2 from 2.6.1 to 2.6.2 (#11042)
- chore(deps): bump github.com/nikolalohinski/gonja/v2 to v2.9.0 (#11038)
- fix(terraform): avoid panic when for_each local has unknown object values (#11019)
- chore(deps): bump the github-actions group across 2 directories with 15 updates (#11028)
- ci(spdx): migrate to Slack notifications (#11032)
- ci(helm): bump Trivy version to 0.73.0 for Trivy Helm Chart 0.25.0 (#11034)
- Update to version 0.73.0:
- release: v0.73.0 [main] (#11012)
- docs: clarify debug logs when version check or telemetry is disabled (#10984)
- feat(java): support user-defined Maven mirrors in trivy.yaml (#11006)
- chore(deps): bump the common group across 1 directory with 17 updates (#11025)
- chore(deps): bump the docker group across 1 directory with 2 updates (#10991)
- chore(deps): bump the aws group across 1 directory with 6 updates (#10947)
- refactor(alpine): remove type assertion when reading the APKINDEX archive (#11013)
- chore(deps): bump google.golang.org/grpc from 1.81.1 to 1.82.1 (#10995)
- feat(vex): discover OpenVEX in generic in-toto OCI referrers (#10986)
- refactor(vuln): add OS.Supplier field and unify supplier terminology (#11007)
- chore(deps): bump github.com/google/cel-go from 0.28.1 to 0.30.0 (#11009)
- fix(vex): reject non-local VEX repository names (#10987)
- fix(vex): handle 304 status code (#10307)
- fix(vuln): don't skip packages covered by a driver's own advisory feed (#10980)
- fix(conda): avoid panic on an all-operator dependency line (#10955)
- chore: add schema id (#10969)
- feat(vex): native discovery of VEX documents stored as OCI artifacts (#10932)
- feat: add bounded read helpers (#10974)
- fix(dotnet): identify deps.json root project from dependency graph (#10954)
- feat(java): read Jenkins plugin manifest licenses (#10939)
- docs: ask contributors to coordinate before starting on an issue (#10940)
- fix(nodejs): support pnpm workspaces with overlapping packages (#10894)
- ci: create release branch with the App token to bypass the merge queue rule (#10931)
- chore(deps): bump the common group across 1 directory with 15 updates (#10892)
- feat(seal): detect no-prefix packages by version suffix (#10911)
- chore(deps): bump the testcontainers group with 2 updates…
- Record
openSUSE-SU-2026:21645-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21653-1 No score
Security update for v2ray-core
This update for v2ray-core fixes the following issues:
Changes in v2ray-core:
-
Update version to 5.53.0
- Add X-Forwarded-For support to gRPC transport
- Add Stream based Packet Addr for UDP Connections
- rrpit: compact session, async send, session recovery
- Add socks5ify engineering command
- Fix bugs
- Update modules (boo#1276119 and CVE-2026-72817, CVE-2026-72815, CVE-2026-72816)
-
Update version to 5.51.2
- Wireguard Add TCP Listener support for wireguard outbound
- Stun Nat Type Testing
- Better server failure detection and PreserveSourceIPPortWhenDestNATMapping detection
- Improve API instance support
- feat: grpc: allow configurable keepalive and initial windows size
- Add RRPIT - Rapid Reliable Packet Interactive Transport
- Add WebRTC Tunnel Support in V2Ray(unreleased)
- also parse X-Forwarded-For in httpupgrade
- gdocsviewer: Add Google Docs Viewer based transport
- gdocsviewer: Refine poll logic and allow custom headers to reduce rate limiting
- gdocsviewer: allow adding headers in public config
- Fix bugs (boo#1258546 and CVE-2026-27017)
-
update golang.org/x/net to 0.55.0 to fix boo#1266787 and CVE-2026-39821
- Record
openSUSE-SU-2026:21653-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21670-1 No score
Security update for cloudflared
This update for cloudflared fixes the following issues:
Changes in cloudflared:
- Update version to 2026.8.2
- Update vendor archive to fix github.com/go-chi/chi/v5 (boo#1276196, CVE-2026-72815, CVE-2026-72816, CVE-2026-72817)
- Add OpenRC support
- Migrate config renovate.json
- Fix bugs
- Record
openSUSE-SU-2026:21670-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21793-1 No score
Security update for hauler
This update for hauler fixes the following issues:
Changes in hauler:
-
update to 2.1.0 (bsc#1265425, CVE-2026-41888):
v2.1.0is a minor release built on the containerd- native foundation laid down inv2.0.0. The headline is thathauler store syncandhauler store addare now fully concurrent, with signature verification pinned to digests and running in parallel too. Alongside that, this release adds an audit trail, a store integrity checker, store-to-manifest generation, private/insecure registry support across every pull path, and a set of fixes for containerd imports, chunked hauls, and Docker Hub reference handling.- Notable dependency bumps: Go → 1.26.6;
containerd/v2→ 2.3.4;sigstore/cosign/v3→ 3.1.3;sigstore/sigstore→ 1.10.9;go-containerregistry→ 0.22.0;helm/v4→ 4.2.4;k8s.iolibs (apimachinery, api, client-go) → 0.37.0;logrus→ 1.10.2;docker/go-metrics→ 0.1.0;sigstore/rekor→ 1.5.4 (CVE resolution); plusx/modandgo-isatty.
-
update to 2.0.3 (bsc#1276124, CVE-2026-72817,CVE-2026-72815,CVE-2026-72816):
- Bump k8s.io/apimachinery from 0.36.2 to 0.36.3 (backport #688)
- Bump oras.land/oras-go/v2 from 2.6.1 to 2.6.2 in the go_modules group across 1 directory (backport #691)
- fix for homebrew macOS binary quarantine (backport #690)
- fix: process Helm deps before --add-images discovery (backport #703)
- update hauler store remove to handle registry reference as part of string (backport #705)
- fixed vuln for golang grpc
- Record
openSUSE-SU-2026:21793-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21918-1 No score
Security update for warewulf4
This update for warewulf4 fixes the following issues:
Changes in warewulf4:
- updating to v4.7.1 with the following changes
- wwctl power no longer falls back to the local BMC for nodes with no ipmi: ipaddr:, which could power off the Warewulf server itself
- wwclient is built with GOAMD64=v1 and no longer fails with an illegal instruction on older nodes
- prevent image and overlay corruption from 64-bit inode numbers truncating in cpio
- fix kernel version detection for releases with a version-like suffix after the dist tag
- several fixes for IPv6-only servers and nodes: dracut boot, wwctl node status, dnsmasq, NetworkManager
- remove dsa from the default ssh: key types, which could leave nodes with no usable host keys on EL9
- mount non-root filesystems before image extraction during provision-to-disk
- overlay template fixes for parent directories and symbolic links
- dependency updates, including go-jose 4.1.4 for CVE-2026-34986 (bsc#1262805)
- updated go-chi to v5.3.2 to fix CVE-2026-72815, CVE-2026-72816 and CVE-2026-72817 (IP spoofing: authentication bypass, authorization override, and log forgery) (bsc#1276100)
- Record
openSUSE-SU-2026:21918-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/go-chi/chi/middlewareGo |
through 1.5.5 | None known |
github.com/go-chi/chi/v2/middlewareGo |
through 2.1.1 | None known |
github.com/go-chi/chi/v3/middlewareGo |
through 3.3.5 | None known |
github.com/go-chi/chi/v4/middlewareGo |
through 4.1.3 | None known |
github.com/go-chi/chi/v5/middlewareGo |
before 5.3.0 | 5.3.0 |
ghAzure Linux:3 |
before 2.97.0-1 | 2.97.0-1 |
influxdbAzure Linux:3 |
through 2.7.5-23 | None known |
golang-github-go-chi-chiDebian:12 |
All versions, plus listed versions 5.0.7-15.1.0-15.2.0-15.2.3-15.2.5-15.3.0-1 |
None known |
golang-github-go-chi-chiDebian:13 |
All versions, plus listed versions 5.2.0-15.2.3-15.2.5-15.3.0-1 |
None known |
golang-github-go-chi-chiDebian:14 |
before 5.3.0-1, plus listed versions 5.2.0-15.2.3-15.2.5-1 |
5.3.0-1 |
Show 18 moreShow less
| Package | Affected | Fixed |
|---|---|---|
github.com/go-chi/chi/v5Go |
before 5.3.0 | 5.3.0 |
spire1.14Red Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:1.14.7-0.4.hum1 | 0:1.14.7-0.4.hum1 |
spire1.14-agentRed Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:1.14.7-0.4.hum1 | 0:1.14.7-0.4.hum1 |
spire1.14-oidc-discovery-providerRed Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:1.14.7-0.4.hum1 | 0:1.14.7-0.4.hum1 |
spire1.14-serverRed Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:1.14.7-0.4.hum1 | 0:1.14.7-0.4.hum1 |
spire1.15Red Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:1.15.2-0.4.hum1 | 0:1.15.2-0.4.hum1 |
spire1.15-agentRed Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:1.15.2-0.4.hum1 | 0:1.15.2-0.4.hum1 |
spire1.15-oidc-discovery-providerRed Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:1.15.2-0.4.hum1 | 0:1.15.2-0.4.hum1 |
spire1.15-serverRed Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:1.15.2-0.4.hum1 | 0:1.15.2-0.4.hum1 |
cosignRed Hat:hummingbird:1 From an advisory covering 3 CVEs |
before 0:3.1.3-0.1.hum1 | 0:3.1.3-0.1.hum1 |
golang-github-go-chi-chiUbuntu:22.04:LTS |
All versions, plus listed versions 1.5.1-25.0.7-1 |
None known |
golang-github-go-chi-chiUbuntu:24.04:LTS |
All versions, plus listed versions 5.0.7-1 |
None known |
golang-github-go-chi-chiUbuntu:26.04:LTS |
All versions, plus listed versions 5.2.0-15.2.3-1 |
None known |
trivyopenSUSE:Leap 16.0 From an advisory covering 3 CVEs |
before 0.74.0-160000.1.1 | 0.74.0-160000.1.1 |
v2ray-coreopenSUSE:Leap 16.0 From an advisory covering 5 CVEs |
before 5.53.0-bp160.1.1 | 5.53.0-bp160.1.1 |
cloudflaredopenSUSE:Leap 16.0 From an advisory covering 3 CVEs |
before 2026.8.2-bp160.1.1 | 2026.8.2-bp160.1.1 |
hauleropenSUSE:Leap 16.0 From an advisory covering 6 CVEs |
before 2.1.0-bp160.1.1 | 2.1.0-bp160.1.1 |
warewulf4openSUSE:Leap 16.0 From an advisory covering 4 CVEs |
before 4.7.1-bp160.1.1 | 4.7.1-bp160.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| affected, facts | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-72816 is a medium vulnerability (CVSS 6.9) in Go-chi Chi, published June 25, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.30%, the 22nd percentile. Fixed in github.com/go-chi/chi/v5/middleware 5.3.0.
References
github.com/go-chi/chi/security/advisories/GHSA-rjr7-jggh-pgcp
vulncheck.com/advisories/go-chi-chi-before-ip-spoofing-via-realip-middleware
github.com/go-chi/chi/releases/tag/v5.3.0
github.com/advisories/GHSA-rjr7-jggh-pgcp
nvd.nist.gov/vuln/detail/CVE-2026-72816
github.com/advisories/GHSA-xg24-pmhh-m4m9
Show 48 moreShow less
github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72816.json
security-tracker.debian.org/tracker/CVE-2026-72816
github.com/go-chi/chi
github.com/go-chi/chi/pull/967
access.redhat.com/errata/RHSA-2026:49718
images.redhat.com
access.redhat.com/security/cve/CVE-2026-72816
access.redhat.com/security/updates/classification
access.redhat.com/security/cve/CVE-2026-72817
access.redhat.com/security/cve/CVE-2026-72815
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_49718.json
bugzilla.redhat.com/show_bug.cgi?id=2515988
cve.org/CVERecord?id=CVE-2026-72815
nvd.nist.gov/vuln/detail/CVE-2026-72815
github.com/go-chi/chi/security/advisories/GHSA-3fxj-6jh8-hvhx
vulncheck.com/advisories/go-chi-chi-ip-spoofing-via-x-forwarded-for-header
bugzilla.redhat.com/show_bug.cgi?id=2515985
cve.org/CVERecord?id=CVE-2026-72816
bugzilla.redhat.com/show_bug.cgi?id=2516008
cve.org/CVERecord?id=CVE-2026-72817
nvd.nist.gov/vuln/detail/CVE-2026-72817
github.com/go-chi/chi/security/advisories/GHSA-9g5q-2w5x-hmxf
vulncheck.com/advisories/go-chi-chi-before-ip-spoofing-via-x-forwarded-for
access.redhat.com/errata/RHSA-2026:49732
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_49732.json
access.redhat.com/errata/RHSA-2026:54420
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_54420.json
ubuntu.com/security/CVE-2026-72816
bugzilla.suse.com/1276128
suse.com/security/cve/CVE-2026-72815
suse.com/security/cve/CVE-2026-72816
suse.com/security/cve/CVE-2026-72817
bugzilla.suse.com/1258546
bugzilla.suse.com/1266787
bugzilla.suse.com/1276119
suse.com/security/cve/CVE-2026-27017
suse.com/security/cve/CVE-2026-39821
bugzilla.suse.com/1276196
bugzilla.suse.com/1265425
bugzilla.suse.com/1276124
bugzilla.suse.com/1276651
bugzilla.suse.com/1277965
suse.com/security/cve/CVE-2026-37236
suse.com/security/cve/CVE-2026-41178
suse.com/security/cve/CVE-2026-41888
bugzilla.suse.com/1262805
bugzilla.suse.com/1276100
suse.com/security/cve/CVE-2026-34986
Left out here: the rest of 1 source description. The JSON record has them.