Skip to content
Heist/ feed
Back to feed
HighFix available

Multiple Transfer-Encoding headers misinterprets request payload

Type: advisorySources: OSV

hyper's HTTP server code had a flaw that incorrectly understands some requests with multiple transfer-encoding headers to have a chunked payload, when it should have been rejected as illegal. This combined with an upstream HTTP proxy that understands the request payload boundary differently can result in "request smuggling" or "desync attacks".

Products
hyper
Affected versions
Not specified
Fixed versions
0.12.36, 0.13.10, 0.14.3
CVEs
CVE-2021-21299
Confirmed fixed CVEs
Not specified
Updated in this feed
30 Oct 2026, 08:42 UTC · Revision 1

Source evidence

Multiple Transfer-Encoding headers misinterprets request payload

core-osv · Original source

Published 5 Feb 2021, 12:00 UTC

hyper's HTTP server code had a flaw that incorrectly understands some requests with multiple transfer-encoding headers to have a chunked payload, when it should have been rejected as illegal. This combined with an upstream HTTP proxy that understands the request payload boundary differently can result in "request smuggling" or "desync attacks".

osv:RUSTSEC-2021-0020

hyper

Fixed versions: 0.12.36, 0.13.10, 0.14.3

Complete source record
{
  "id": "2415d7e58dd044463af5173154936bc240f17028c6e73814250220a4f7695907",
  "url": "https://osv.dev/vulnerability/RUSTSEC-2021-0020",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Multiple Transfer-Encoding headers misinterprets request payload",
    "summary": "hyper's HTTP server code had a flaw that incorrectly understands some requests with multiple transfer-encoding headers to have a chunked payload, when it should have been rejected as illegal. This combined with an upstream HTTP proxy that understands the request payload boundary differently can result in \"request smuggling\" or \"desync attacks\".",
    "evidence": "osv:RUSTSEC-2021-0020",
    "products": [
      {
        "name": {
          "value": "hyper",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "0.12.36",
            "evidence": "/affected/0/ranges"
          },
          {
            "value": "0.13.10",
            "evidence": "/affected/0/ranges"
          },
          {
            "value": "0.14.3",
            "evidence": "/affected/0/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "RUSTSEC-2021-0020",
      "aliases": [
        "CVE-2021-21299",
        "GHSA-6hfq-h8hq-87mf",
        "RUSTSEC-2021-0020"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "0.12.0"
                },
                {
                  "fixed": "0.12.36"
                },
                {
                  "introduced": "0.13.0-0"
                },
                {
                  "fixed": "0.13.10"
                },
                {
                  "introduced": "0.14.0-0"
                },
                {
                  "fixed": "0.14.3"
                }
              ]
            }
          ],
          "package": {
            "name": "hyper",
            "purl": "pkg:cargo/hyper",
            "ecosystem": "crates.io"
          },
          "database_specific": {
            "cvss": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "source": "https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2021-0020.json",
            "categories": [
              "format-injection"
            ],
            "informational": null
          },
          "ecosystem_specific": {
            "affects": {
              "os": [],
              "arch": [],
              "functions": []
            },
            "affected_functions": null
          }
        }
      ],
      "modified": "2026-10-12T18:00:04.410731844Z",
      "provider": "osv",
      "references": [
        "https://crates.io/crates/hyper",
        "https://rustsec.org/advisories/RUSTSEC-2021-0020.html",
        "https://github.com/hyperium/hyper/commit/8f93123efef5c1361086688fe4f34c83c89cec02"
      ],
      "provider_metadata": {
        "license": "CC0-1.0"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2021-21299",
        "evidence": "/aliases"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 306343,
  "published_at": "2021-02-05T12:00:00+00:00"
}