Skip to content
Heist/ feed
Back to feed
Unrated

Incorrect sanitization of forwarded query parameters in net/http/httputil

Type: advisorySources: OSV

Requests forwarded by ReverseProxy include the raw query parameters from the inbound request, including unparsable parameters rejected by net/http. This could permit query parameter smuggling when a Go proxy forwards a parameter with an unparsable value. After fix, ReverseProxy sanitizes the query parameters in the forwarded query when the outbound request's Form field is set after the ReverseProxy. Director function returns, indicating that the proxy has parsed the query parameters. Proxies which do not parse query parameters continue to forward the original query parameters unchanged.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2022-2880
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 02:57 UTC · Revision 1

Source evidence

Incorrect sanitization of forwarded query parameters in net/http/httputil

core-osv · Original source

Published 14 Oct 2022, 00:00 UTC

Requests forwarded by ReverseProxy include the raw query parameters from the inbound request, including unparsable parameters rejected by net/http. This could permit query parameter smuggling when a Go proxy forwards a parameter with an unparsable value. After fix, ReverseProxy sanitizes the query parameters in the forwarded query when the outbound request's Form field is set after the ReverseProxy. Director function returns, indicating that the proxy has parsed the query parameters. Proxies which do not parse query parameters continue to forward the original query parameters unchanged.

osv:CVE-2022-2880
Complete source record
{
  "id": "c59d1fac5c000bf5db21b9dbf2dc020e18429f8e98a51b9057d68783399365dd",
  "url": "https://osv.dev/vulnerability/CVE-2022-2880",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Incorrect sanitization of forwarded query parameters in net/http/httputil",
    "summary": "Requests forwarded by ReverseProxy include the raw query parameters from the inbound request, including unparsable parameters rejected by net/http. This could permit query parameter smuggling when a Go proxy forwards a parameter with an unparsable value. After fix, ReverseProxy sanitizes the query parameters in the forwarded query when the outbound request's Form field is set after the ReverseProxy. Director function returns, indicating that the proxy has parsed the query parameters. Proxies which do not parse query parameters continue to forward the original query parameters unchanged.",
    "evidence": "osv:CVE-2022-2880",
    "products": [],
    "severity": "unknown",
    "structured": {
      "id": "CVE-2022-2880",
      "aliases": [
        "BIT-golang-2022-2880",
        "CVE-2022-2880",
        "GO-2022-1038"
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/golang/go",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "947091d31ccda14b0a362adff37b6e037f0f59f3"
                },
                {
                  "fixed": "895664482c0ebe5cec4a6935615a1e9610bbf1e3"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:golang:go:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.18.7"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:golang:go:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "1.19.0"
                      },
                      {
                        "fixed": "1.19.2"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "go1.18.6",
            "go1.19.1",
            "go1.19",
            "go1.18.5",
            "go1.19rc2",
            "go1.18.4",
            "go1.19rc1",
            "go1.18.3",
            "go1.19beta1",
            "go1.18.2",
            "go1.18.1",
            "go1.18",
            "go1.18rc1",
            "go1.18beta2",
            "go1.18beta1",
            "go1.17beta1",
            "go1.16beta1",
            "go1.15beta1",
            "go1.14beta1",
            "go1.13beta1",
            "go1.12beta2",
            "go1.12beta1",
            "go1.11beta3",
            "go1.11beta2",
            "go1.11beta1",
            "go1.10rc2",
            "go1.10rc1",
            "go1.10beta2",
            "go1.10beta1",
            "go1.9beta2",
            "go1.9beta1",
            "go1.8beta2",
            "go1.8beta1",
            "go1.7rc4",
            "go1.7rc3",
            "go1.7rc2",
            "go1.7rc1",
            "go1.7beta2",
            "go1.7beta1",
            "go1.6beta2",
            "go1.6beta1",
            "go1.5beta3",
            "go1.5beta2",
            "go1.5beta1",
            "go1.4beta1",
            "go1.3beta2",
            "go1.3beta1",
            "weekly.2012-03-27",
            "weekly",
            "weekly.2012-03-22",
            "weekly.2012-03-13",
            "weekly.2012-03-04",
            "weekly.2012-02-22",
            "weekly.2012-02-14",
            "weekly.2012-02-07",
            "weekly.2012-01-27",
            "weekly.2012-01-20",
            "weekly.2012-01-15",
            "weekly.2011-12-22",
            "weekly.2011-12-14",
            "weekly.2011-12-06",
            "weekly.2011-12-02",
            "weekly.2011-12-01",
            "weekly.2011-11-18",
            "weekly.2011-11-09",
            "weekly.2011-11-08",
            "weekly.2011-11-02",
            "weekly.2011-11-01",
            "weekly.2011-10-26",
            "weekly.2011-10-25",
            "weekly.2011-10-18",
            "weekly.2011-10-06",
            "weekly.2011-09-21",
            "weekly.2011-09-16",
            "weekly.2011-08-17",
            "weekly.2011-09-07",
            "weekly.2011-09-01",
            "weekly.2011-08-10",
            "weekly.2011-07-07",
            "weekly.2011-07-29",
            "weekly.2011-07-19",
            "weekly.2011-06-09",
            "weekly.2011-06-23",
            "weekly.2011-06-16",
            "weekly.2011-06-02",
            "weekly.2011-05-22",
            "weekly.2011-04-27",
            "weekly.2011-04-13",
            "weekly.2011-04-04",
            "weekly.2011-03-28",
            "weekly.2011-03-15",
            "weekly.2011-03-07.1",
            "release.r56",
            "weekly.2011-03-07",
            "weekly.2011-02-24",
            "weekly.2011-02-15",
            "weekly.2011-02-01.1",
            "weekly.2011-02-01",
            "weekly.2011-01-20",
            "weekly.2011-01-19",
            "weekly.2011-01-12",
            "weekly.2011-01-06",
            "weekly.2010-12-22",
            "weekly.2010-12-15.1",
            "weekly.2010-12-15",
            "weekly.2010-12-08",
            "weekly.2010-12-02",
            "weekly.2010-11-23",
            "weekly.2010-11-10",
            "weekly.2010-11-02",
            "weekly.2010-10-27",
            "weekly.2010-10-20",
            "weekly.2010-10-13.1",
            "weekly.2010-10-13",
            "weekly.2010-09-29",
            "weekly.2010-09-22",
            "weekly.2010-09-15",
            "weekly.2010-09-06",
            "weekly.2010-08-25",
            "weekly.2010-08-11",
            "weekly.2010-08-04",
            "weekly.2010-07-29",
            "weekly.2010-07-14",
            "weekly.2010-07-01",
            "weekly.2010-06-21",
            "weekly.2010-06-09",
            "weekly.2010-05-27",
            "weekly.2010-05-04",
            "weekly.2010-04-27",
            "weekly.2010-04-13",
            "weekly.2010-03-30",
            "weekly.2010-03-22",
            "weekly.2010-03-15",
            "weekly.2010-03-04",
            "weekly.2010-02-23",
            "weekly.2010-02-17",
            "weekly.2010-02-04",
            "weekly.2010-01-27",
            "weekly.2010-01-13",
            "weekly.2010-01-05",
            "weekly.2009-12-22",
            "weekly.2009-12-09",
            "weekly.2009-12-07",
            "weekly.2009-11-17",
            "weekly.2009-11-12",
            "weekly.2009-11-10.1",
            "weekly.2009-11-10",
            "weekly.2009-11-06"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-2880.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:49.046549918Z",
      "provider": "osv",
      "references": [
        "https://go.dev/cl/432976",
        "https://go.dev/issue/54663",
        "https://groups.google.com/g/golang-announce/c/xtuG5faxtaU",
        "https://pkg.go.dev",
        "https://pkg.go.dev/vuln/GO-2022-1038",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/2xxx/CVE-2022-2880.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2022-2880",
        "https://security.gentoo.org/glsa/202311-09"
      ],
      "provider_metadata": {
        "cna_assigner": "Go",
        "unresolved_ranges": [
          {
            "extracted_events": [
              {
                "range": [
                  {
                    "fixed": "1.18.7"
                  },
                  {
                    "introduced": "1.19.0-0"
                  },
                  {
                    "fixed": "1.19.2"
                  }
                ],
                "source": "AFFECTED_FIELD",
                "strategy": "StandardRange"
              }
            ]
          }
        ],
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/2xxx/CVE-2022-2880.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2022-2880",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-osv",
  "document_id": 517561,
  "published_at": "2022-10-14T00:00:00+00:00"
}