Lucene search

K
nessusThis script is Copyright (C) 2024 and is owned by Tenable, Inc. or an Affiliate thereof.DEBIAN_DLA-3851.NASL
HistoryJul 01, 2024 - 12:00 a.m.

Debian dla-3851 : gunicorn - security update

2024-07-0100:00:00
This script is Copyright (C) 2024 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
1
debian 10
gunicorn
http request smuggling

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');
}
VendorProductVersionCPE
debiandebian_linuxpython3-gunicornp-cpe:/a:debian:debian_linux:python3-gunicorn
debiandebian_linux10.0cpe:/o:debian:debian_linux:10.0
debiandebian_linuxgunicorn-examplesp-cpe:/a:debian:debian_linux:gunicorn-examples
debiandebian_linuxpython-gunicornp-cpe:/a:debian:debian_linux:python-gunicorn
debiandebian_linuxgunicorn3p-cpe:/a:debian:debian_linux:gunicorn3
debiandebian_linuxgunicornp-cpe:/a:debian:debian_linux:gunicorn

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