{"id":"CVE-2026-72816","title":"go-chi/chi through 5.2.1 contains an IP spoofing vulnerability in the RealIP middleware (middleware/realip.go)","summary":"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.Remot…","severity":"medium","cvss":6.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","cwe":["CWE-290"],"vendor":"go-chi","product":"github.com/go-chi/chi/middleware","affected":["github.com/go-chi/chi/middleware <= 1.5.5","github.com/go-chi/chi/v2/middleware <= 2.1.1","github.com/go-chi/chi/v3/middleware <= 3.3.5","github.com/go-chi/chi/v4/middleware <= 4.1.3","github.com/go-chi/chi/v5/middleware < 5.3.0"],"patched":["github.com/go-chi/chi/v5/middleware 5.3.0"],"published":"2026-08-14","updated":"2026-09-09","sourceUpdated":"2026-09-09T20:35:08.537","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-72816","references":[{"url":"https://github.com/go-chi/chi/security/advisories/GHSA-rjr7-jggh-pgcp","label":"disclosure@vulncheck.com"},{"url":"https://www.vulncheck.com/advisories/go-chi-chi-before-ip-spoofing-via-realip-middleware","label":"disclosure@vulncheck.com"},{"url":"https://github.com/go-chi/chi/security/advisories/GHSA-rjr7-jggh-pgcp","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"},{"url":"https://github.com/go-chi/chi"},{"url":"https://github.com/go-chi/chi/releases/tag/v5.3.0"}],"tags":["nvd","osv","go"],"epss":0.003,"epssPercentile":0.20288,"aliases":["GHSA-rjr7-jggh-pgcp","GO-2026-5777"],"ecosystem":"go","ingestedAt":"2026-08-15T19:19:53.771Z","slug":"CVE-2026-72816","body":"## Overview\n\ngo-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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-72816)\n\nAffected packages:\n\n- `github.com/go-chi/chi/middleware <= 1.5.5`\n- `github.com/go-chi/chi/v2/middleware <= 2.1.1`\n- `github.com/go-chi/chi/v3/middleware <= 3.3.5`\n- `github.com/go-chi/chi/v4/middleware <= 4.1.3`\n- `github.com/go-chi/chi/v5/middleware < 5.3.0`\n\nPatched in:\n\n- `github.com/go-chi/chi/v5/middleware 5.3.0`\n\nSource: https://osv.dev/vulnerability/GHSA-rjr7-jggh-pgcp","depth":"sunlit","depthScore":36,"depthScoreParts":{"impact":35.8,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[{"seq":201893,"id":"CVE-2026-72816","ts":1789399974130,"field":"cvss","old":null,"new":"6.5"},{"seq":201892,"id":"CVE-2026-72816","ts":1789399974130,"field":"severity","old":"high","new":"medium"},{"seq":200623,"id":"CVE-2026-72816","ts":1789397537304,"field":"cvss","old":"6.5","new":null},{"seq":200622,"id":"CVE-2026-72816","ts":1789397537304,"field":"severity","old":"medium","new":"high"},{"seq":199337,"id":"CVE-2026-72816","ts":1789395455779,"field":"cvss","old":null,"new":"6.5"},{"seq":199336,"id":"CVE-2026-72816","ts":1789395455779,"field":"severity","old":"high","new":"medium"},{"seq":198582,"id":"CVE-2026-72816","ts":1789392135724,"field":"cvss","old":"6.5","new":null},{"seq":198581,"id":"CVE-2026-72816","ts":1789392135724,"field":"severity","old":"medium","new":"high"},{"seq":198537,"id":"CVE-2026-72816","ts":1789392062929,"field":"cvss","old":null,"new":"6.5"},{"seq":198536,"id":"CVE-2026-72816","ts":1789392062929,"field":"severity","old":"high","new":"medium"},{"seq":196328,"id":"CVE-2026-72816","ts":1789383702612,"field":"cvss","old":"6.5","new":null},{"seq":196327,"id":"CVE-2026-72816","ts":1789383702612,"field":"severity","old":"medium","new":"high"},{"seq":195257,"id":"CVE-2026-72816","ts":1789380539624,"field":"cvss","old":null,"new":"6.5"},{"seq":195256,"id":"CVE-2026-72816","ts":1789380539624,"field":"severity","old":"high","new":"medium"},{"seq":194044,"id":"CVE-2026-72816","ts":1789378648914,"field":"cvss","old":"6.5","new":null},{"seq":194043,"id":"CVE-2026-72816","ts":1789378648914,"field":"severity","old":"medium","new":"high"},{"seq":192831,"id":"CVE-2026-72816","ts":1789376469378,"field":"cvss","old":null,"new":"6.5"},{"seq":192830,"id":"CVE-2026-72816","ts":1789376469378,"field":"severity","old":"high","new":"medium"},{"seq":191618,"id":"CVE-2026-72816","ts":1789373555674,"field":"cvss","old":"6.5","new":null},{"seq":191617,"id":"CVE-2026-72816","ts":1789373555674,"field":"severity","old":"medium","new":"high"},{"seq":190403,"id":"CVE-2026-72816","ts":1789369416974,"field":"cvss","old":null,"new":"6.5"},{"seq":190402,"id":"CVE-2026-72816","ts":1789369416974,"field":"severity","old":"high","new":"medium"},{"seq":189190,"id":"CVE-2026-72816","ts":1789368347325,"field":"cvss","old":"6.5","new":null},{"seq":189189,"id":"CVE-2026-72816","ts":1789368347325,"field":"severity","old":"medium","new":"high"},{"seq":187973,"id":"CVE-2026-72816","ts":1789365200375,"field":"cvss","old":null,"new":"6.5"},{"seq":187972,"id":"CVE-2026-72816","ts":1789365200375,"field":"severity","old":"high","new":"medium"},{"seq":186760,"id":"CVE-2026-72816","ts":1789363411868,"field":"cvss","old":"6.5","new":null},{"seq":186759,"id":"CVE-2026-72816","ts":1789363411868,"field":"severity","old":"medium","new":"high"},{"seq":185546,"id":"CVE-2026-72816","ts":1789361182842,"field":"cvss","old":null,"new":"6.5"},{"seq":185545,"id":"CVE-2026-72816","ts":1789361182842,"field":"severity","old":"high","new":"medium"},{"seq":184333,"id":"CVE-2026-72816","ts":1789358274972,"field":"cvss","old":"6.5","new":null},{"seq":184332,"id":"CVE-2026-72816","ts":1789358274972,"field":"severity","old":"medium","new":"high"},{"seq":182584,"id":"CVE-2026-72816","ts":1789354275890,"field":"cvss","old":null,"new":"6.5"},{"seq":182583,"id":"CVE-2026-72816","ts":1789354275890,"field":"severity","old":"high","new":"medium"},{"seq":181377,"id":"CVE-2026-72816","ts":1789353247985,"field":"cvss","old":"6.5","new":null},{"seq":181376,"id":"CVE-2026-72816","ts":1789353247985,"field":"severity","old":"medium","new":"high"},{"seq":180170,"id":"CVE-2026-72816","ts":1789350228410,"field":"cvss","old":null,"new":"6.5"},{"seq":180169,"id":"CVE-2026-72816","ts":1789350228410,"field":"severity","old":"high","new":"medium"},{"seq":178963,"id":"CVE-2026-72816","ts":1789348224276,"field":"cvss","old":"6.5","new":null},{"seq":178962,"id":"CVE-2026-72816","ts":1789348224276,"field":"severity","old":"medium","new":"high"},{"seq":177756,"id":"CVE-2026-72816","ts":1789346332531,"field":"cvss","old":null,"new":"6.5"},{"seq":177755,"id":"CVE-2026-72816","ts":1789346332531,"field":"severity","old":"high","new":"medium"},{"seq":176549,"id":"CVE-2026-72816","ts":1789343130523,"field":"cvss","old":"6.5","new":null},{"seq":176548,"id":"CVE-2026-72816","ts":1789343130523,"field":"severity","old":"medium","new":"high"},{"seq":174666,"id":"CVE-2026-72816","ts":1789334840626,"field":"cvss","old":null,"new":"6.5"},{"seq":174665,"id":"CVE-2026-72816","ts":1789334840626,"field":"severity","old":"high","new":"medium"},{"seq":173461,"id":"CVE-2026-72816","ts":1789333609210,"field":"cvss","old":"6.5","new":null},{"seq":173460,"id":"CVE-2026-72816","ts":1789333609210,"field":"severity","old":"medium","new":"high"},{"seq":172275,"id":"CVE-2026-72816","ts":1789331056355,"field":"cvss","old":null,"new":"6.5"},{"seq":172274,"id":"CVE-2026-72816","ts":1789331056355,"field":"severity","old":"high","new":"medium"}]}