Lucene search

K
nessusUbuntu Security Notice (C) 2023 Canonical, Inc. / NASL script (C) 2023 and is owned by Tenable, Inc. or an Affiliate thereof.UBUNTU_USN-6492-1.NASL
HistoryNov 21, 2023 - 12:00 a.m.

Ubuntu 20.04 ESM / 22.04 LTS / 23.04 : Mosquitto vulnerabilities (USN-6492-1)

2023-11-2100:00:00
Ubuntu Security Notice (C) 2023 Canonical, Inc. / NASL script (C) 2023 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
27
ubuntu
mosquitto
vulnerabilities
esm
lts
memory leak
denial of service
dos attack
cpu usage
remote abuse

5 Medium

CVSS2

Attack Vector

NETWORK

Attack Complexity

LOW

Authentication

NONE

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

PARTIAL

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

7.5 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

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

7 High

AI Score

Confidence

Low

0.002 Low

EPSS

Percentile

54.7%

The remote Ubuntu 20.04 ESM / 22.04 LTS / 23.04 host has packages installed that are affected by multiple vulnerabilities as referenced in the USN-6492-1 advisory.

  • In Eclipse Mosquitto version 1.6 to 2.0.10, if an authenticated client that had connected with MQTT v5 sent a crafted CONNECT message to the broker a memory leak would occur, which could be used to provide a DoS attack against the broker. (CVE-2021-34431)

  • In Eclipse Mosquitto versions 2.0 to 2.0.11, when using the dynamic security plugin, if the ability for a client to make subscriptions on a topic is revoked when a durable client is offline, then existing subscriptions for that client are not revoked. (CVE-2021-34434)

  • In versions 1.6 to 2.0.11 of Eclipse Mosquitto, an MQTT v5 client connecting with a large number of user- property properties could cause excessive CPU usage, leading to a loss of performance and possible denial of service. (CVE-2021-41039)

  • In Mosquitto before 2.0.16, excessive memory is allocated based on malicious initial packets that are not CONNECT packets. (CVE-2023-0809)

  • The broker in Eclipse Mosquitto 1.3.2 through 2.x before 2.0.16 has a memory leak that can be abused remotely when a client sends many QoS 2 messages with duplicate message IDs, and fails to respond to PUBREC commands. This occurs because of mishandling of EAGAIN from the libc send function.
    (CVE-2023-28366)

  • In Mosquitto before 2.0.16, a memory leak occurs when clients send v5 CONNECT packets with a will message that contains invalid property types. (CVE-2023-3592)

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 Ubuntu Security Notice USN-6492-1. The text
# itself is copyright (C) Canonical, Inc. See
# <https://ubuntu.com/security/notices>. Ubuntu(R) is a registered
# trademark of Canonical, Inc.
##

include('compat.inc');

if (description)
{
  script_id(186038);
  script_version("1.0");
  script_set_attribute(attribute:"plugin_modification_date", value:"2023/11/21");

  script_cve_id(
    "CVE-2021-34431",
    "CVE-2021-34434",
    "CVE-2021-41039",
    "CVE-2023-0809",
    "CVE-2023-3592",
    "CVE-2023-28366"
  );
  script_xref(name:"USN", value:"6492-1");

  script_name(english:"Ubuntu 20.04 ESM / 22.04 LTS / 23.04 : Mosquitto vulnerabilities (USN-6492-1)");

  script_set_attribute(attribute:"synopsis", value:
"The remote Ubuntu host is missing one or more security updates.");
  script_set_attribute(attribute:"description", value:
"The remote Ubuntu 20.04 ESM / 22.04 LTS / 23.04 host has packages installed that are affected by multiple
vulnerabilities as referenced in the USN-6492-1 advisory.

  - In Eclipse Mosquitto version 1.6 to 2.0.10, if an authenticated client that had connected with MQTT v5
    sent a crafted CONNECT message to the broker a memory leak would occur, which could be used to provide a
    DoS attack against the broker. (CVE-2021-34431)

  - In Eclipse Mosquitto versions 2.0 to 2.0.11, when using the dynamic security plugin, if the ability for a
    client to make subscriptions on a topic is revoked when a durable client is offline, then existing
    subscriptions for that client are not revoked. (CVE-2021-34434)

  - In versions 1.6 to 2.0.11 of Eclipse Mosquitto, an MQTT v5 client connecting with a large number of user-
    property properties could cause excessive CPU usage, leading to a loss of performance and possible denial
    of service. (CVE-2021-41039)

  - In Mosquitto before 2.0.16, excessive memory is allocated based on malicious initial packets that are not
    CONNECT packets. (CVE-2023-0809)

  - The broker in Eclipse Mosquitto 1.3.2 through 2.x before 2.0.16 has a memory leak that can be abused
    remotely when a client sends many QoS 2 messages with duplicate message IDs, and fails to respond to
    PUBREC commands. This occurs because of mishandling of EAGAIN from the libc send function.
    (CVE-2023-28366)

  - In Mosquitto before 2.0.16, a memory leak occurs when clients send v5 CONNECT packets with a will message
    that contains invalid property types. (CVE-2023-3592)

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
  script_set_attribute(attribute:"see_also", value:"https://ubuntu.com/security/notices/USN-6492-1");
  script_set_attribute(attribute:"solution", value:
"Update the affected 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:N/S:U/C:L/I:N/A:N");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2021-34434");

  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:"2021/07/22");
  script_set_attribute(attribute:"patch_publication_date", value:"2023/11/21");
  script_set_attribute(attribute:"plugin_publication_date", value:"2023/11/21");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:20.04:-:esm");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:22.04:-:lts");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:23.04");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libmosquitto-dev");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libmosquitto1");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libmosquittopp-dev");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:libmosquittopp1");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:mosquitto");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:mosquitto-clients");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:mosquitto-dev");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Ubuntu Local Security Checks");

  script_copyright(english:"Ubuntu Security Notice (C) 2023 Canonical, Inc. / NASL script (C) 2023 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/cpu", "Host/Ubuntu", "Host/Ubuntu/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);
var os_release = get_kb_item('Host/Ubuntu/release');
if ( isnull(os_release) ) audit(AUDIT_OS_NOT, 'Ubuntu');
os_release = chomp(os_release);
if (! ('20.04' >< os_release || '22.04' >< os_release || '23.04' >< os_release)) audit(AUDIT_OS_NOT, 'Ubuntu 20.04 / 22.04 / 23.04', 'Ubuntu ' + os_release);
if ( ! get_kb_item('Host/Debian/dpkg-l') ) audit(AUDIT_PACKAGE_LIST_MISSING);

var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('x86_64' >!< cpu && cpu !~ "^i[3-6]86$" && 's390' >!< cpu && 'aarch64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Ubuntu', cpu);

var pkgs = [
    {'osver': '20.04', 'pkgname': 'libmosquitto-dev', 'pkgver': '1.6.9-1ubuntu0.1~esm1'},
    {'osver': '20.04', 'pkgname': 'libmosquitto1', 'pkgver': '1.6.9-1ubuntu0.1~esm1'},
    {'osver': '20.04', 'pkgname': 'libmosquittopp-dev', 'pkgver': '1.6.9-1ubuntu0.1~esm1'},
    {'osver': '20.04', 'pkgname': 'libmosquittopp1', 'pkgver': '1.6.9-1ubuntu0.1~esm1'},
    {'osver': '20.04', 'pkgname': 'mosquitto', 'pkgver': '1.6.9-1ubuntu0.1~esm1'},
    {'osver': '20.04', 'pkgname': 'mosquitto-clients', 'pkgver': '1.6.9-1ubuntu0.1~esm1'},
    {'osver': '20.04', 'pkgname': 'mosquitto-dev', 'pkgver': '1.6.9-1ubuntu0.1~esm1'},
    {'osver': '22.04', 'pkgname': 'libmosquitto-dev', 'pkgver': '2.0.11-1ubuntu1.1'},
    {'osver': '22.04', 'pkgname': 'libmosquitto1', 'pkgver': '2.0.11-1ubuntu1.1'},
    {'osver': '22.04', 'pkgname': 'libmosquittopp-dev', 'pkgver': '2.0.11-1ubuntu1.1'},
    {'osver': '22.04', 'pkgname': 'libmosquittopp1', 'pkgver': '2.0.11-1ubuntu1.1'},
    {'osver': '22.04', 'pkgname': 'mosquitto', 'pkgver': '2.0.11-1ubuntu1.1'},
    {'osver': '22.04', 'pkgname': 'mosquitto-clients', 'pkgver': '2.0.11-1ubuntu1.1'},
    {'osver': '22.04', 'pkgname': 'mosquitto-dev', 'pkgver': '2.0.11-1ubuntu1.1'},
    {'osver': '23.04', 'pkgname': 'libmosquitto-dev', 'pkgver': '2.0.11-1.2ubuntu0.1'},
    {'osver': '23.04', 'pkgname': 'libmosquitto1', 'pkgver': '2.0.11-1.2ubuntu0.1'},
    {'osver': '23.04', 'pkgname': 'libmosquittopp-dev', 'pkgver': '2.0.11-1.2ubuntu0.1'},
    {'osver': '23.04', 'pkgname': 'libmosquittopp1', 'pkgver': '2.0.11-1.2ubuntu0.1'},
    {'osver': '23.04', 'pkgname': 'mosquitto', 'pkgver': '2.0.11-1.2ubuntu0.1'},
    {'osver': '23.04', 'pkgname': 'mosquitto-clients', 'pkgver': '2.0.11-1.2ubuntu0.1'},
    {'osver': '23.04', 'pkgname': 'mosquitto-dev', 'pkgver': '2.0.11-1.2ubuntu0.1'}
];

var flag = 0;
foreach package_array ( pkgs ) {
  var osver = NULL;
  var pkgname = NULL;
  var pkgver = NULL;
  if (!empty_or_null(package_array['osver'])) osver = package_array['osver'];
  if (!empty_or_null(package_array['pkgname'])) pkgname = package_array['pkgname'];
  if (!empty_or_null(package_array['pkgver'])) pkgver = package_array['pkgver'];
  if (osver && pkgname && pkgver) {
    if (ubuntu_check(osver:osver, pkgname:pkgname, pkgver:pkgver)) flag++;
  }
}

if (flag)
{
  security_report_v4(
    port       : 0,
    severity   : SECURITY_WARNING,
    extra      : ubuntu_report_get()
  );
  exit(0);
}
else
{
  var tested = ubuntu_pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'libmosquitto-dev / libmosquitto1 / libmosquittopp-dev / etc');
}
VendorProductVersionCPE
canonicalubuntu_linux20.04cpe:/o:canonical:ubuntu_linux:20.04:-:esm
canonicalubuntu_linux22.04cpe:/o:canonical:ubuntu_linux:22.04:-:lts
canonicalubuntu_linux23.04cpe:/o:canonical:ubuntu_linux:23.04
canonicalubuntu_linuxlibmosquitto-devp-cpe:/a:canonical:ubuntu_linux:libmosquitto-dev
canonicalubuntu_linuxlibmosquitto1p-cpe:/a:canonical:ubuntu_linux:libmosquitto1
canonicalubuntu_linuxlibmosquittopp-devp-cpe:/a:canonical:ubuntu_linux:libmosquittopp-dev
canonicalubuntu_linuxlibmosquittopp1p-cpe:/a:canonical:ubuntu_linux:libmosquittopp1
canonicalubuntu_linuxmosquittop-cpe:/a:canonical:ubuntu_linux:mosquitto
canonicalubuntu_linuxmosquitto-clientsp-cpe:/a:canonical:ubuntu_linux:mosquitto-clients
canonicalubuntu_linuxmosquitto-devp-cpe:/a:canonical:ubuntu_linux:mosquitto-dev

5 Medium

CVSS2

Attack Vector

NETWORK

Attack Complexity

LOW

Authentication

NONE

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

PARTIAL

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

7.5 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

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

7 High

AI Score

Confidence

Low

0.002 Low

EPSS

Percentile

54.7%