Skip to content
Heist/ feed
Back to feed
Medium

Fiber: X-Real-IP Spoofing via Header.Add() in BalancerForward

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-45045
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 17:12 UTC · Revision 1

Source evidence

Fiber: X-Real-IP Spoofing via Header.Add() in BalancerForward

core-osv · Original source

Published 8 Jul 2026, 19:26 UTC

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.

osv:CVE-2026-45045
Complete source record
{
  "id": "3e1b8b00ded969feaa137eed98124b4f31a6218d20ef4a05d03eff8c0440ccc2",
  "url": "https://osv.dev/vulnerability/CVE-2026-45045",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Fiber: X-Real-IP Spoofing via Header.Add() in BalancerForward",
    "summary": "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.",
    "evidence": "osv:CVE-2026-45045",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-45045",
      "aliases": [
        "CVE-2026-45045",
        "GHSA-gcfq-8gqf-4876",
        "GO-2026-5887"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/gofiber/fiber",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "a74500f6335abc020023d3581a46ba56a893edc3"
                },
                {
                  "introduced": "f8f34f642fb3682c341ede7816e7cf861aa7df89"
                },
                {
                  "fixed": "a39a035dee6df089d94f4f78e34dd34dac895aee"
                },
                {
                  "fixed": "1403cc8292da3220e9316960b4030cc722a0f396"
                },
                {
                  "fixed": "33c9501288ab47a429c8b5e701493f0c3c0af37d"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:gofiber:fiber:*:*:*:*:*:go:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.52.14"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:gofiber:fiber:*:*:*:*:*:go:*:*",
                    "range": [
                      {
                        "introduced": "3.0.0"
                      },
                      {
                        "fixed": "3.3.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "1403cc8292da3220e9316960b4030cc722a0f396"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "33c9501288ab47a429c8b5e701493f0c3c0af37d"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "a74500f6335abc020023d3581a46ba56a893edc3"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.52.14"
                  },
                  {
                    "range": [
                      {
                        "fixed": "a39a035dee6df089d94f4f78e34dd34dac895aee"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v3.3.0"
                  }
                ]
              }
            }
          ],
          "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"
          }
        }
      ],
      "modified": "2026-10-28T02:30:30.598602550Z",
      "provider": "osv",
      "references": [
        "https://github.com/gofiber/fiber/releases/tag/v2.52.14",
        "https://github.com/gofiber/fiber/releases/tag/v3.3.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45045.json",
        "https://github.com/gofiber/fiber/security/advisories/GHSA-gcfq-8gqf-4876",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-45045",
        "https://github.com/gofiber/fiber/commit/1403cc8292da3220e9316960b4030cc722a0f396",
        "https://github.com/gofiber/fiber/commit/33c9501288ab47a429c8b5e701493f0c3c0af37d",
        "https://github.com/gofiber/fiber/pull/4260",
        "https://github.com/gofiber/fiber/pull/4495"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-290"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45045.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-45045",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 497741,
  "published_at": "2026-07-08T19:26:26.58+00:00"
}