Skip to content
Heist/ feed
Back to feed
Critical

Fabio allows HTTP clients to manipulate custom headers it adds

Type: advisorySources: OSV

Fabio is an HTTP(S) and TCP router for deploying applications managed by consul. Prior to version 1.6.6, Fabio allows clients to remove X-Forwarded headers (except X-Forwarded-For) due to a vulnerability in how it processes hop-by-hop headers. Fabio adds HTTP headers like X-Forwarded-Host and X-Forwarded-Port when routing requests to backend applications. Since the receiving application should trust these headers, allowing HTTP clients to remove or modify them creates potential security vulnerabilities. Some of these custom headers can be removed and, in certain cases, manipulated. The attack relies on the behavior that headers can be defined as hop-by-hop via the HTTP Connection header. This issue has been patched in version 1.6.6.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-48865
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 04:00 UTC · Revision 1

Source evidence

Fabio allows HTTP clients to manipulate custom headers it adds

core-osv · Original source

Published 30 May 2025, 06:14 UTC

Fabio is an HTTP(S) and TCP router for deploying applications managed by consul. Prior to version 1.6.6, Fabio allows clients to remove X-Forwarded headers (except X-Forwarded-For) due to a vulnerability in how it processes hop-by-hop headers. Fabio adds HTTP headers like X-Forwarded-Host and X-Forwarded-Port when routing requests to backend applications. Since the receiving application should trust these headers, allowing HTTP clients to remove or modify them creates potential security vulnerabilities. Some of these custom headers can be removed and, in certain cases, manipulated. The attack relies on the behavior that headers can be defined as hop-by-hop via the HTTP Connection header. This issue has been patched in version 1.6.6.

osv:CVE-2025-48865
Complete source record
{
  "id": "b950c57e74f7ce4933b8e3fa27506c4df68ffee7f2baed887a1e51fc3c30dbdd",
  "url": "https://osv.dev/vulnerability/CVE-2025-48865",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Fabio allows HTTP clients to manipulate custom headers it adds",
    "summary": "Fabio is an HTTP(S) and TCP router for deploying applications managed by consul. Prior to version 1.6.6, Fabio allows clients to remove X-Forwarded headers (except X-Forwarded-For) due to a vulnerability in how it processes hop-by-hop headers. Fabio adds HTTP headers like X-Forwarded-Host and X-Forwarded-Port when routing requests to backend applications. Since the receiving application should trust these headers, allowing HTTP clients to remove or modify them creates potential security vulnerabilities. Some of these custom headers can be removed and, in certain cases, manipulated. The attack relies on the behavior that headers can be defined as hop-by-hop via the HTTP Connection header. This issue has been patched in version 1.6.6.",
    "evidence": "osv:CVE-2025-48865",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2025-48865",
      "aliases": [
        "CVE-2025-48865",
        "GHSA-q7p4-7xjv-j3wf",
        "GO-2025-3722"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/fabiolb/fabio",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "945db34c17e87b81f2c5a9160e0b6c5d6f598ce4"
                },
                {
                  "fixed": "fdaf1e966162e9dd3b347ffdd0647b39dc71a1a3"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:fabiolb:fabio:*:*:*:*:*:go:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.6.6"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "fdaf1e966162e9dd3b347ffdd0647b39dc71a1a3"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "945db34c17e87b81f2c5a9160e0b6c5d6f598ce4"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v1.6.6"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.6.5",
            "v1.6.4",
            "v1.6.3",
            "v1.6.2",
            "v1.6.1",
            "v1.6.0",
            "v1.5.15",
            "v1.5.14",
            "v1.5.13",
            "v1.5.12",
            "v1.5.11",
            "v1.5.11-wrong",
            "v1.5.10",
            "v1.5.9",
            "v1.5.8",
            "v1.5.7",
            "v1.5.6",
            "v1.5.5",
            "v1.5.4",
            "v1.5.3",
            "v1.5.2",
            "v1.5.1",
            "v1.5.0",
            "v1.4.4",
            "v1.4.3",
            "v1.4.2",
            "v1.4.1",
            "v1.4",
            "v1.3.8",
            "v1.3.7",
            "v1.3.6",
            "v1.3.5",
            "v1.3.4",
            "v1.3.3",
            "v1.3.2",
            "v1.3.1",
            "v1.3",
            "v1.2.1",
            "v1.2",
            "v1.1.6",
            "v1.1.5",
            "v1.1.4",
            "v1.1.3",
            "v1.1.3rc2",
            "v1.1.2",
            "v1.1.1",
            "v1.1",
            "v1.1rc1",
            "v1.0.8",
            "v1.0.7",
            "v1.0.6",
            "v1.0.5",
            "v1.0.4",
            "v1.0.3",
            "v1.0.2",
            "v1.0.1",
            "v1.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-48865.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:25.719481728Z",
      "provider": "osv",
      "references": [
        "https://github.com/fabiolb/fabio/releases/tag/v1.6.6",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/48xxx/CVE-2025-48865.json",
        "https://github.com/fabiolb/fabio/security/advisories/GHSA-q7p4-7xjv-j3wf",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-48865",
        "https://github.com/fabiolb/fabio/commit/fdaf1e966162e9dd3b347ffdd0647b39dc71a1a3"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-345",
          "CWE-348"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/48xxx/CVE-2025-48865.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-48865",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 492345,
  "published_at": "2025-05-30T06:14:45.819+00:00"
}