Lucene search
K

Linux Distros Unpatched Vulnerability : CVE-2021-21299

🗓️ 30 Aug 2025 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 2 Views

CVE-2021-21299 enables request smuggling in the Hyper Rust web server when using HTTP/1.1 with an upstream proxy; fixed in versions 0.13.10 and 0.14.3.

Related
Refs
Code
ReporterTitlePublishedViews
Family
Circl
CVE-2021-21299
11 Feb 202120:42
circl
CNNVD
hyper crate for Rust environment issue vulnerability
11 Feb 202100:00
cnnvd
CVE
CVE-2021-21299
11 Feb 202118:00
cve
Cvelist
CVE-2021-21299 Multiple Transfer-Encoding headers misinterprets request payload
11 Feb 202118:00
cvelist
Debian CVE
CVE-2021-21299
11 Feb 202118:00
debiancve
EUVD
EUVD-2021-1600
7 Oct 202500:30
euvd
Github Security Blog
HTTP Request Smuggling in hyper
25 Aug 202120:56
github
NVD
CVE-2021-21299
11 Feb 202118:15
nvd
OSV
DEBIAN-CVE-2021-21299
11 Feb 202118:15
osv
OSV
GHSA-6HFQ-H8HQ-87MF HTTP Request Smuggling in hyper
25 Aug 202120:56
osv
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(259174);
  script_version("1.6");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/05/21");

  script_cve_id("CVE-2021-21299");

  script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2021-21299");

  script_set_attribute(attribute:"synopsis", value:
"The Linux/Unix host has one or more packages installed with a vulnerability that the vendor indicates will not be
patched.");
  script_set_attribute(attribute:"description", value:
"The Linux/Unix host has one or more packages installed that are impacted by a vulnerability without a vendor supplied
patch available.

  - hyper is an open-source HTTP library for Rust (crates.io). In hyper from version 0.12.0 and before
    versions 0.13.10 and 0.14.3 there is a vulnerability that can enable a request smuggling attack. The 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. To determine if vulnerable, all these things must be true: 1) Using hyper as an HTTP
    server (the client is not affected), 2) Using HTTP/1.1 (HTTP/2 does not use transfer-encoding), 3) Using a
    vulnerable HTTP proxy upstream to hyper. If an upstream proxy correctly rejects the illegal transfer-
    encoding headers, the desync attack cannot succeed. If there is no proxy upstream of hyper, hyper cannot
    start the desync attack, as the client will repair the headers before forwarding. This is fixed in
    versions 0.14.3 and 0.13.10. As a workaround one can take the following options: 1) Reject requests that
    contain a `transfer-encoding` header, 2) Ensure any upstream proxy handles `transfer-encoding` correctly.
    (CVE-2021-21299)

Note that Nessus relies on the presence of the package as reported by the vendor.");
  script_set_attribute(attribute:"see_also", value:"https://ubuntu.com/security/CVE-2021-21299");
  script_set_attribute(attribute:"solution", value:
"There is no known solution at this time.");
  script_set_attribute(attribute:"agent", value:"unix");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:U/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:U/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2021-21299");

  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");
  script_set_attribute(attribute:"vendor_unpatched", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2021/02/11");
  script_set_attribute(attribute:"plugin_publication_date", value:"2025/08/30");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:20.04:-:lts");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:24.04:-:lts");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:25.04");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:25.10");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:rust-hyper");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Misc.");

  script_copyright(english:"This script is Copyright (C) 2025-2026 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("ssh_get_info2.nasl", "set_linux_os_id.nasl");
  script_require_keys("Host/cpu", "Host/local_checks_enabled", "global_settings/vendor_unpatched", "Host/OS/identifier");
  script_require_ports("Host/OS/Ubuntu Linux-20.04", "Host/OS/Ubuntu Linux-24.04", "Host/OS/Ubuntu Linux-25.04", "Host/OS/Ubuntu Linux-25.10");

  exit(0);
}

if (!get_kb_item("global_settings/vendor_unpatched")) exit(0, "Unpatched Vulnerabilities Detection not active.");
if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (empty_or_null(get_one_kb_item("Host/Debian/dpkg-l"))) audit(AUDIT_PACKAGE_LIST_MISSING);

include('linux_unpatched.inc');

var distro_constraints_array = {
  "Ubuntu Linux-20.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "20.04",
        "pkgs": [
          {"reference": "rust-hyper"}
        ]
      }
    ]
  },
  "Ubuntu Linux-24.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "24.04",
        "pkgs": [
          {"reference": "rust-hyper"}
        ]
      }
    ]
  },
  "Ubuntu Linux-25.04": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "25.04",
        "pkgs": [
          {"reference": "rust-hyper"}
        ]
      }
    ]
  },
  "Ubuntu Linux-25.10": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "25.10",
        "pkgs": [
          {"reference": "rust-hyper"}
        ]
      }
    ]
  }
};

var distro_constraints_values = linux_unpatched::get_distro_constraints(distro_constraints_arr:distro_constraints_array);
if (empty_or_null(distro_constraints_values)) audit(AUDIT_HOST_NOT, 'affected');
var report = linux_unpatched::check_unpatched_constraints(distro_constraints_values:distro_constraints_values);

if (!empty_or_null(report))
{
  security_report_v4(
      port       : 0,
      severity   : SECURITY_WARNING,
      extra      : report
  );
  exit(0);
}
else
{
  audit(AUDIT_HOST_NOT, 'affected');
}

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

21 May 2026 00:00Current
7.2High risk
Vulners AI Score7.2
CVSS 26.8
CVSS 3.14.8 - 8.1
EPSS0.00577
2