{"id":"CVE-2026-45045","summary":"Fiber: X-Real-IP Spoofing via Header.Add() in BalancerForward","details":"Fiber is an Express inspired web framework written in Go. Prior to 3.3.0 and 2.52.14, the BalancerForward proxy helper in middleware/proxy/proxy.go uses Header.Add() instead of Header.Set() when injecting X-Real-IP, allowing an attacker-supplied first X-Real-IP value to be forwarded to upstream servers for logging, rate limiting, and access control. This issue is fixed in version 3.3.0 and 2.52.14.","aliases":["GHSA-gcfq-8gqf-4876"],"modified":"2026-07-17T03:48:09.396107409Z","published":"2026-07-08T19:26:26.580Z","related":["CGA-rh8r-f3g3-pxfx"],"database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-290"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45045.json"},"references":[{"type":"WEB","url":"https://github.com/gofiber/fiber/releases/tag/v2.52.14"},{"type":"WEB","url":"https://github.com/gofiber/fiber/releases/tag/v3.3.0"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45045.json"},{"type":"ADVISORY","url":"https://github.com/gofiber/fiber/security/advisories/GHSA-gcfq-8gqf-4876"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-45045"},{"type":"FIX","url":"https://github.com/gofiber/fiber/commit/1403cc8292da3220e9316960b4030cc722a0f396"},{"type":"FIX","url":"https://github.com/gofiber/fiber/commit/33c9501288ab47a429c8b5e701493f0c3c0af37d"},{"type":"FIX","url":"https://github.com/gofiber/fiber/pull/4260"},{"type":"FIX","url":"https://github.com/gofiber/fiber/pull/4495"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/gofiber/fiber","events":[{"introduced":"0"},{"fixed":"a74500f6335abc020023d3581a46ba56a893edc3"},{"introduced":"f8f34f642fb3682c341ede7816e7cf861aa7df89"},{"fixed":"a39a035dee6df089d94f4f78e34dd34dac895aee"},{"fixed":"1403cc8292da3220e9316960b4030cc722a0f396"},{"fixed":"33c9501288ab47a429c8b5e701493f0c3c0af37d"}],"database_specific":{"cpe":"cpe:2.3:a:gofiber:fiber:*:*:*:*:*:go:*:*","extracted_events":[{"introduced":"0"},{"fixed":"2.52.14"},{"introduced":"3.0.0"},{"fixed":"3.3.0"}],"source":["CPE_RANGE","REFERENCES"]}}],"versions":["v2.52.13","v3.2.0","v2.52.12","v3.1.0","v2.52.11","v2.52.10","v3.0.0-rc.2","v3.0.0-rc.1","v3.0.0-beta.5","v2.52.9","v2.52.8","v2.52.7","v2.52.6","v3.0.0-beta.4","v2.52.5","v3.0.0-beta.3","v2.52.4","v2.52.3","v2.52.2","v2.52.1","v2.52.0","v2.51.0","v2.50.0","v2.49.2","v2.49.1","v2.49.0","v2.48.0","v2.47.0","v2.46.0","v2.45.0","v2.44.0","v2.43.0","v2.42.0","v2.41.0","v2.40.1","v2.40.0","v2.39.0","v2.38.1","v2.38.0","v2.37.1","v2.37.0","v2.37.0-rc.1","v2.36.0","v2.35.0","v2.34.1","v2.34.0","v2.34.0-rc.1","v2.33.0","v2.32.0","v2.31.0","v2.30.0","v2.29.0","v2.28.0","v2.27.0","v2.26.0","v2.25.0","v2.24.0","v2.23.0","v2.22.0","v2.21.0","v2.20.2","v2.20.1","v2.20.0","v2.19.0","v2.18.0","v2.17.0","v2.16.0","v2.15.0","v2.14.0","v2.13.0","v2.12.0","v2.11.0","v2.10.0","v2.9.0","v2.8.0","v2.7.1","v2.7.0","v2.6.0","v2.4.1","v2.5.0","v2.4.0","v2.3.3","v2.3.2","v2.3.1","v2.3.0","v2.2.5","v2.2.4","v2.2.3","v2.2.2","v2.2.1","v2.2.0","v2.1.4","v2.1.3","v2.1.2","v1.14.6","v2.1.1","v2.1.0","v2.0.6","v2.0.5","v2.0.4","v2.0.3","v2.0.2","v2.0.1","v2.0.0","v1.14.5","v1.14.4","v1.14.3","v1.14.2","v1.14.1","v1.13.3","v1.13.2","v1.13.1","v1.13.0","v1.12.6","v1.12.5","v1.12.4","v1.12.3","v1.12.2","v1.12.1","v1.12.0","v1.11.1","v1.11.0","v1.10.5","v1.10.0","v1.9.6","v1.9.3","v1.9.2","v1.9.1","v1.9.0","v1.8.43","v1.8.42","v1.8.41","v1.8.4","v1.8.3","v1.8.2","v1.8.1","v1.8.0","v1.7.1","v1.0.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-45045.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"}]}