Fiber: X-Real-IP Spoofing via Header.Add() in BalancerForward
13Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 5.3epss 0.4%
exploitation probability
0.4%top 71% of all CVEs
observed exploitation
nono source reports it
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.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Affected products
gofiber · fiberReferences
https://github.com/gofiber/fiber/commit/1403cc8292da3220e9316960b4030cc722a0f396https://github.com/gofiber/fiber/commit/33c9501288ab47a429c8b5e701493f0c3c0af37dhttps://github.com/gofiber/fiber/pull/4260https://github.com/gofiber/fiber/pull/4495https://github.com/gofiber/fiber/releases/tag/v2.52.14https://github.com/gofiber/fiber/releases/tag/v3.3.0https://github.com/gofiber/fiber/security/advisories/GHSA-gcfq-8gqf-4876