Skip to content
Heist/ feed
Back to feed
High

Netty 4.2.2 through 4.2.17 HTTP/1 Host Header Authority Confusion

Type: advisorySources: OSV

Netty's HTTP/3 codec (io.netty:netty-codec-http3) versions 4.2.2.Final through 4.2.17.Final builds the HTTP/3 :authority pseudo-header from the HTTP/1 Host header before considering the authority of an absolute-form HTTP/1 request-target. In HttpConversionUtil.toHttp3Headers(HttpMessage, boolean) — reached via Http3FrameToHttpObjectCodec(false) — a non-empty Host header takes precedence over the request-target authority, contrary to the HTTP/1.1 rule that a server receiving an absolute-form request-target must ignore the Host header. In a Netty-based HTTP/1-to-HTTP/3 gateway, proxy, or protocol bridge, a remote client can send a request such as "GET https://trusted.example/admin HTTP/1.1" with "Host: attacker.example", causing components that validate, authorize, or route on the RFC-defined request-target authority to reach a different decision than the upstream HTTP/3 peer, which receives :authority derived from the conflicting Host header. This authority confusion can affect virtual-host routing, allow-list checks, backend selection, cache keys, and URL generation. The advisory reports integrity impact only (no code execution, memory corruption, or availability impact). Fixed in 4.2.18.Final.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-100664
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 15:54 UTC · Revision 1

Source evidence

Netty 4.2.2 through 4.2.17 HTTP/1 Host Header Authority Confusion

core-osv · Original source

Published 26 Sept 2026, 13:23 UTC

Netty's HTTP/3 codec (io.netty:netty-codec-http3) versions 4.2.2.Final through 4.2.17.Final builds the HTTP/3 :authority pseudo-header from the HTTP/1 Host header before considering the authority of an absolute-form HTTP/1 request-target. In HttpConversionUtil.toHttp3Headers(HttpMessage, boolean) — reached via Http3FrameToHttpObjectCodec(false) — a non-empty Host header takes precedence over the request-target authority, contrary to the HTTP/1.1 rule that a server receiving an absolute-form request-target must ignore the Host header. In a Netty-based HTTP/1-to-HTTP/3 gateway, proxy, or protocol bridge, a remote client can send a request such as "GET https://trusted.example/admin HTTP/1.1" with "Host: attacker.example", causing components that validate, authorize, or route on the RFC-defined request-target authority to reach a different decision than the upstream HTTP/3 peer, which receives :authority derived from the conflicting Host header. This authority confusion can affect virtual-host routing, allow-list checks, backend selection, cache keys, and URL generation. The advisory reports integrity impact only (no code execution, memory corruption, or availability impact). Fixed in 4.2.18.Final.

osv:CVE-2026-100664
Complete source record
{
  "id": "3fd14ae8fcc5ead4742e3aac144e2d8325078990b9fdba36a64f685e9eaa3500",
  "url": "https://osv.dev/vulnerability/CVE-2026-100664",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Netty 4.2.2 through 4.2.17 HTTP/1 Host Header Authority Confusion",
    "summary": "Netty's HTTP/3 codec (io.netty:netty-codec-http3) versions 4.2.2.Final through 4.2.17.Final builds the HTTP/3 :authority pseudo-header from the HTTP/1 Host header before considering the authority of an absolute-form HTTP/1 request-target. In HttpConversionUtil.toHttp3Headers(HttpMessage, boolean) — reached via Http3FrameToHttpObjectCodec(false) — a non-empty Host header takes precedence over the request-target authority, contrary to the HTTP/1.1 rule that a server receiving an absolute-form request-target must ignore the Host header. In a Netty-based HTTP/1-to-HTTP/3 gateway, proxy, or protocol bridge, a remote client can send a request such as \"GET https://trusted.example/admin HTTP/1.1\" with \"Host: attacker.example\", causing components that validate, authorize, or route on the RFC-defined request-target authority to reach a different decision than the upstream HTTP/3 peer, which receives :authority derived from the conflicting Host header. This authority confusion can affect virtual-host routing, allow-list checks, backend selection, cache keys, and URL generation. The advisory reports integrity impact only (no code execution, memory corruption, or availability impact). Fixed in 4.2.18.Final.",
    "evidence": "osv:CVE-2026-100664",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-100664",
      "aliases": [
        "CVE-2026-100664",
        "GHSA-hfr2-x62w-v49h"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/netty/netty",
              "type": "GIT",
              "events": [
                {
                  "introduced": "660edeaefad4a4cedbd61584e8f668ad2d89f0b8"
                },
                {
                  "fixed": "2521f494432e27415a567d3a81a9eb907abf20b3"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "4.2.2.Final"
                      },
                      {
                        "fixed": "4.2.18.Final"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  }
                ]
              }
            }
          ],
          "versions": [
            "netty-clang-bin",
            "netty-4.2.17.Final",
            "netty-4.2.16.Final",
            "netty-4.2.15.Final",
            "netty-4.2.14.Final",
            "netty-4.2.13.Final",
            "netty-4.2.12.Final",
            "netty-4.2.11.Final",
            "netty-4.2.10.Final",
            "netty-4.2.9.Final",
            "netty-4.2.8.Final",
            "netty-4.2.7.Final",
            "netty-4.2.6.Final",
            "netty-4.2.5.Final",
            "netty-4.2.4.Final",
            "netty-4.2.3.Final",
            "netty-4.2.2.Final"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-100664.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:51.311083530Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/100xxx/CVE-2026-100664.json",
        "https://github.com/netty/netty/security/advisories/GHSA-hfr2-x62w-v49h",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-100664",
        "https://www.vulncheck.com/advisories/netty-4.2.2-through-4.2.15-http-1-host-header-authority-confusion"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-20"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/100xxx/CVE-2026-100664.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-100664",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 519810,
  "published_at": "2026-09-26T13:23:30.478+00:00"
}