7.5 High
CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
NONE
Integrity Impact
HIGH
Availability Impact
NONE
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
6.6 Medium
AI Score
Confidence
Low
The remote Debian 10 host has packages installed that are affected by a vulnerability as referenced in the dla-3851 advisory.
------------------------------------------------------------------------- Debian LTS Advisory DLA-3851-1 [email protected] https://www.debian.org/lts/security/ Markus Koschany June 30, 2024 https://wiki.debian.org/LTS
-------------------------------------------------------------------------
Package : gunicorn Version : 19.9.0-1+deb10u1 CVE ID : CVE-2024-1135 Debian Bug : 1069126
Gunicorn, an event-based HTTP/WSGI server, fails to properly validate Transfer- Encoding headers, leading to HTTP Request Smuggling (HRS) vulnerabilities. By crafting requests with conflicting Transfer-Encoding headers, attackers can bypass security restrictions and access restricted endpoints. This issue is due to Gunicorns handling of Transfer-Encoding headers, where it incorrectly processes requests with multiple, conflicting Transfer-Encoding headers, treating them as chunked regardless of the final encoding specified. This vulnerability allows for a range of attacks including cache poisoning, session manipulation, and data exposure.
For Debian 10 buster, this problem has been fixed in version 19.9.0-1+deb10u1.
We recommend that you upgrade your gunicorn packages.
For the detailed security status of gunicorn please refer to its security tracker page at:
https://security-tracker.debian.org/tracker/gunicorn
Further information about Debian LTS security advisories, how to apply these updates to your system and frequently asked questions can be found at: https://wiki.debian.org/LTS Attachment:
signature.asc Description: This is a digitally signed message part
Tenable has extracted the preceding description block directly from the Debian security advisory.
Note that Nessus has not tested for this issue but has instead relied only on the application’s self-reported version number.
#%NASL_MIN_LEVEL 80900
#
# (C) Tenable, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Debian Security Advisory dla-3851. The text
# itself is copyright (C) Software in the Public Interest, Inc.
#
include('compat.inc');
if (description)
{
script_id(201172);
script_version("1.1");
script_set_attribute(attribute:"plugin_modification_date", value:"2024/07/01");
script_cve_id("CVE-2024-1135");
script_name(english:"Debian dla-3851 : gunicorn - security update");
script_set_attribute(attribute:"synopsis", value:
"The remote Debian host is missing a security-related update.");
script_set_attribute(attribute:"description", value:
"The remote Debian 10 host has packages installed that are affected by a vulnerability as referenced in the dla-3851
advisory.
-------------------------------------------------------------------------
Debian LTS Advisory DLA-3851-1 [email protected]
https://www.debian.org/lts/security/ Markus Koschany
June 30, 2024 https://wiki.debian.org/LTS
-------------------------------------------------------------------------
Package : gunicorn
Version : 19.9.0-1+deb10u1
CVE ID : CVE-2024-1135
Debian Bug : 1069126
Gunicorn, an event-based HTTP/WSGI server, fails to properly validate Transfer-
Encoding headers, leading to HTTP Request Smuggling (HRS) vulnerabilities. By
crafting requests with conflicting Transfer-Encoding headers, attackers can
bypass security restrictions and access restricted endpoints. This issue is due
to Gunicorns handling of Transfer-Encoding headers, where it incorrectly
processes requests with multiple, conflicting Transfer-Encoding headers,
treating them as chunked regardless of the final encoding specified. This
vulnerability allows for a range of attacks including cache poisoning, session
manipulation, and data exposure.
For Debian 10 buster, this problem has been fixed in version
19.9.0-1+deb10u1.
We recommend that you upgrade your gunicorn packages.
For the detailed security status of gunicorn please refer to
its security tracker page at:
https://security-tracker.debian.org/tracker/gunicorn
Further information about Debian LTS security advisories, how to apply
these updates to your system and frequently asked questions can be
found at: https://wiki.debian.org/LTS
Attachment:
signature.asc
Description: This is a digitally signed message part
Tenable has extracted the preceding description block directly from the Debian security advisory.
Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.");
script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/source-package/gunicorn");
script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2024-1135");
script_set_attribute(attribute:"see_also", value:"https://packages.debian.org/source/buster/gunicorn");
script_set_attribute(attribute:"solution", value:
"Upgrade the gunicorn packages.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:C/A:N");
script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N");
script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2024-1135");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"exploit_available", value:"false");
script_set_attribute(attribute:"vuln_publication_date", value:"2024/04/16");
script_set_attribute(attribute:"patch_publication_date", value:"2024/06/30");
script_set_attribute(attribute:"plugin_publication_date", value:"2024/07/01");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:gunicorn");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:gunicorn-examples");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:gunicorn3");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:python-gunicorn");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:python3-gunicorn");
script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:10.0");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Debian Local Security Checks");
script_copyright(english:"This script is Copyright (C) 2024 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info.nasl");
script_require_keys("Host/local_checks_enabled", "Host/Debian/release", "Host/Debian/dpkg-l");
exit(0);
}
include('debian_package.inc');
if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (!get_kb_item("Host/Debian/dpkg-l")) audit(AUDIT_PACKAGE_LIST_MISSING);
var debian_release = get_kb_item('Host/Debian/release');
if ( isnull(debian_release) ) audit(AUDIT_OS_NOT, 'Debian');
debian_release = chomp(debian_release);
if (! preg(pattern:"^(10)\.[0-9]+", string:debian_release)) audit(AUDIT_OS_NOT, 'Debian 10.0', 'Debian ' + debian_release);
var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('x86_64' >!< cpu && cpu !~ "^i[3-6]86$" && 'aarch64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Debian', cpu);
var pkgs = [
{'release': '10.0', 'prefix': 'gunicorn', 'reference': '19.9.0-1+deb10u1'},
{'release': '10.0', 'prefix': 'gunicorn-examples', 'reference': '19.9.0-1+deb10u1'},
{'release': '10.0', 'prefix': 'gunicorn3', 'reference': '19.9.0-1+deb10u1'},
{'release': '10.0', 'prefix': 'python-gunicorn', 'reference': '19.9.0-1+deb10u1'},
{'release': '10.0', 'prefix': 'python3-gunicorn', 'reference': '19.9.0-1+deb10u1'}
];
var flag = 0;
foreach package_array ( pkgs ) {
var _release = NULL;
var prefix = NULL;
var reference = NULL;
if (!empty_or_null(package_array['release'])) _release = package_array['release'];
if (!empty_or_null(package_array['prefix'])) prefix = package_array['prefix'];
if (!empty_or_null(package_array['reference'])) reference = package_array['reference'];
if (_release && prefix && reference) {
if (deb_check(release:_release, prefix:prefix, reference:reference)) flag++;
}
}
if (flag)
{
security_report_v4(
port : 0,
severity : SECURITY_HOLE,
extra : deb_report_get()
);
exit(0);
}
else
{
var tested = deb_pkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'gunicorn / gunicorn-examples / gunicorn3 / python-gunicorn / etc');
}
Vendor | Product | Version | CPE |
---|---|---|---|
debian | debian_linux | python3-gunicorn | p-cpe:/a:debian:debian_linux:python3-gunicorn |
debian | debian_linux | 10.0 | cpe:/o:debian:debian_linux:10.0 |
debian | debian_linux | gunicorn-examples | p-cpe:/a:debian:debian_linux:gunicorn-examples |
debian | debian_linux | python-gunicorn | p-cpe:/a:debian:debian_linux:python-gunicorn |
debian | debian_linux | gunicorn3 | p-cpe:/a:debian:debian_linux:gunicorn3 |
debian | debian_linux | gunicorn | p-cpe:/a:debian:debian_linux:gunicorn |