Lucene search

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

Debian dla-3877 : ruby-rack-protection - security update

2024-09-0500:00:00
This script is Copyright (C) 2024 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
2
debian 11
ruby sinatra
cve-2022-29970
cve-2022-45442
file traversal
reflected file download
security update
web framework

CVSS2

5

Attack Vector

NETWORK

Attack Complexity

LOW

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

NONE

Availability Impact

NONE

AV:N/AC:L/Au:N/C:P/I:N/A:N

CVSS3

8.8

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

REQUIRED

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

AI Score

7.1

Confidence

Low

The remote Debian 11 host has packages installed that are affected by multiple vulnerabilities as referenced in the dla-3877 advisory.

-------------------------------------------------------------------------     Debian LTS Advisory DLA-3877-1                [email protected]     https://www.debian.org/lts/security/                   Jochen Sprickerhof     September 05, 2024                            https://wiki.debian.org/LTS
-------------------------------------------------------------------------

Package        : ruby-sinatra     Version        : 2.0.8.1-2+deb11u1     CVE ID         : CVE-2022-29970 CVE-2022-45442     Debian Bug     : 1014717 1070953

Sinatra is an open source web framework for Ruby programming language.

CVE-2022-29970

    A file traversal vulnerability was discovered. We now validate that         any expanded paths match the allowed `public_dir` when serving         static files.

CVE-2022-45442

    It was discovered that there was a potential reflected file download         (RFD) vulnerability. A Content-Disposition HTTP header was being         incorrectly derived from a potentially user-supplied filename.

For Debian 11 bullseye, these problems have been fixed in version     2.0.8.1-2+deb11u1.

We recommend that you upgrade your ruby-sinatra packages.

For the detailed security status of ruby-sinatra please refer to     its security tracker page at:
https://security-tracker.debian.org/tracker/ruby-sinatra

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: PGP signature

Tenable has extracted the preceding description block directly from the Debian security advisory.

Note that Nessus has not tested for these issues 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-3877. The text
# itself is copyright (C) Software in the Public Interest, Inc.
#

include('compat.inc');

if (description)
{
  script_id(206670);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2024/09/05");

  script_cve_id("CVE-2022-29970", "CVE-2022-45442");

  script_name(english:"Debian dla-3877 : ruby-rack-protection - security update");

  script_set_attribute(attribute:"synopsis", value:
"The remote Debian host is missing one or more security-related updates.");
  script_set_attribute(attribute:"description", value:
"The remote Debian 11 host has packages installed that are affected by multiple vulnerabilities as referenced in the
dla-3877 advisory.

    -------------------------------------------------------------------------
    Debian LTS Advisory DLA-3877-1                [email protected]
    https://www.debian.org/lts/security/                   Jochen Sprickerhof
    September 05, 2024                            https://wiki.debian.org/LTS
    -------------------------------------------------------------------------

    Package        : ruby-sinatra
    Version        : 2.0.8.1-2+deb11u1
    CVE ID         : CVE-2022-29970 CVE-2022-45442
    Debian Bug     : 1014717 1070953

    Sinatra is an open source web framework for Ruby programming language.

    CVE-2022-29970

        A file traversal vulnerability was discovered. We now validate that
        any expanded paths match the allowed `public_dir` when serving
        static files.

    CVE-2022-45442

        It was discovered that there was a potential reflected file download
        (RFD) vulnerability. A Content-Disposition HTTP header was being
        incorrectly derived from a potentially user-supplied filename.

    For Debian 11 bullseye, these problems have been fixed in version
    2.0.8.1-2+deb11u1.

    We recommend that you upgrade your ruby-sinatra packages.

    For the detailed security status of ruby-sinatra please refer to
    its security tracker page at:
    https://security-tracker.debian.org/tracker/ruby-sinatra

    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: PGP signature

Tenable has extracted the preceding description block directly from the Debian security advisory.

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
  # https://security-tracker.debian.org/tracker/source-package/ruby-sinatra
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?5d91863f");
  script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2022-29970");
  script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2022-45442");
  script_set_attribute(attribute:"see_also", value:"https://packages.debian.org/source/bullseye/ruby-sinatra");
  script_set_attribute(attribute:"solution", value:
"Upgrade the ruby-rack-protection packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N");
  script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2022-29970");
  script_set_attribute(attribute:"cvss3_score_source", value:"CVE-2022-45442");

  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2022/05/02");
  script_set_attribute(attribute:"patch_publication_date", value:"2024/09/05");
  script_set_attribute(attribute:"plugin_publication_date", value:"2024/09/05");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:ruby-rack-protection");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:ruby-sinatra");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:ruby-sinatra-contrib");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:11.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:"^(11)\.[0-9]+", string:debian_release)) audit(AUDIT_OS_NOT, 'Debian 11.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': '11.0', 'prefix': 'ruby-rack-protection', 'reference': '2.0.8.1-2+deb11u1'},
    {'release': '11.0', 'prefix': 'ruby-sinatra', 'reference': '2.0.8.1-2+deb11u1'},
    {'release': '11.0', 'prefix': 'ruby-sinatra-contrib', 'reference': '2.0.8.1-2+deb11u1'}
];

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_WARNING,
    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, 'ruby-rack-protection / ruby-sinatra / ruby-sinatra-contrib');
}

CVSS2

5

Attack Vector

NETWORK

Attack Complexity

LOW

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

NONE

Availability Impact

NONE

AV:N/AC:L/Au:N/C:P/I:N/A:N

CVSS3

8.8

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

REQUIRED

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

AI Score

7.1

Confidence

Low