Vulnerabilities > CVE-2017-7654 - Missing Release of Resource after Effective Lifetime vulnerability in multiple products

047910
CVSS 5.0 - MEDIUM
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
PARTIAL
network
low complexity
eclipse
debian
CWE-772
nessus

Summary

In Eclipse Mosquitto 1.4.15 and earlier, a Memory Leak vulnerability was found within the Mosquitto Broker. Unauthenticated clients can send crafted CONNECT packets which could cause a denial of service in the Mosquitto Broker.

Vulnerable Configurations

Part Description Count
Application
Eclipse
74
OS
Debian
2

Common Attack Pattern Enumeration and Classification (CAPEC)

  • HTTP DoS
    An attacker performs flooding at the HTTP level to bring down only a particular web application rather than anything listening on a TCP/IP connection. This denial of service attack requires substantially fewer packets to be sent which makes DoS harder to detect. This is an equivalent of SYN flood in HTTP. The idea is to keep the HTTP session alive indefinitely and then repeat that hundreds of times. This attack targets resource depletion weaknesses in web server software. The web server will wait to attacker's responses on the initiated HTTP sessions while the connection threads are being exhausted.

Nessus

  • NASL familyUbuntu Local Security Checks
    NASL idUBUNTU_USN-4023-1.NASL
    descriptionIt was discovered that Mosquitto broker incorrectly handled certain specially crafted input and network packets. A remote attacker could use this to cause a denial of service. Note that Tenable Network Security has extracted the preceding description block directly from the Ubuntu security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id126096
    published2019-06-21
    reporterUbuntu Security Notice (C) 2019-2020 Canonical, Inc. / NASL script (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/126096
    titleUbuntu 16.04 LTS / 18.04 LTS / 18.10 : mosquitto vulnerabilities (USN-4023-1)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from Ubuntu Security Notice USN-4023-1. The text 
    # itself is copyright (C) Canonical, Inc. See 
    # <http://www.ubuntu.com/usn/>. Ubuntu(R) is a registered 
    # trademark of Canonical, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(126096);
      script_version("1.3");
      script_cvs_date("Date: 2020/01/10");
    
      script_cve_id("CVE-2017-7653", "CVE-2017-7654");
      script_xref(name:"USN", value:"4023-1");
    
      script_name(english:"Ubuntu 16.04 LTS / 18.04 LTS / 18.10 : mosquitto vulnerabilities (USN-4023-1)");
      script_summary(english:"Checks dpkg output for updated packages.");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:
    "The remote Ubuntu host is missing one or more security-related
    patches."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "It was discovered that Mosquitto broker incorrectly handled certain
    specially crafted input and network packets. A remote attacker could
    use this to cause a denial of service.
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the Ubuntu security advisory. Tenable
    has attempted to automatically clean and format it as much as possible
    without introducing additional issues."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://usn.ubuntu.com/4023-1/"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
      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:N/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      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: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:"cpe:/o:canonical:ubuntu_linux:16.04");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:18.04:-:lts");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:18.10");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2018/06/05");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/06/20");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/06/21");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"Ubuntu Security Notice (C) 2019-2020 Canonical, Inc. / NASL script (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Ubuntu Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/cpu", "Host/Ubuntu", "Host/Ubuntu/release", "Host/Debian/dpkg-l");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("ubuntu.inc");
    include("misc_func.inc");
    
    if ( ! get_kb_item("Host/local_checks_enabled") ) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/Ubuntu/release");
    if ( isnull(release) ) audit(AUDIT_OS_NOT, "Ubuntu");
    release = chomp(release);
    if (! preg(pattern:"^(16\.04|18\.04|18\.10)$", string:release)) audit(AUDIT_OS_NOT, "Ubuntu 16.04 / 18.04 / 18.10", "Ubuntu " + release);
    if ( ! get_kb_item("Host/Debian/dpkg-l") ) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Ubuntu", cpu);
    
    flag = 0;
    
    if (ubuntu_check(osver:"16.04", pkgname:"libmosquitto1", pkgver:"1.4.8-1ubuntu0.16.04.7")) flag++;
    if (ubuntu_check(osver:"16.04", pkgname:"libmosquittopp1", pkgver:"1.4.8-1ubuntu0.16.04.7")) flag++;
    if (ubuntu_check(osver:"16.04", pkgname:"mosquitto", pkgver:"1.4.8-1ubuntu0.16.04.7")) flag++;
    if (ubuntu_check(osver:"16.04", pkgname:"mosquitto-clients", pkgver:"1.4.8-1ubuntu0.16.04.7")) flag++;
    if (ubuntu_check(osver:"18.04", pkgname:"libmosquitto1", pkgver:"1.4.15-2ubuntu0.18.04.3")) flag++;
    if (ubuntu_check(osver:"18.04", pkgname:"libmosquittopp1", pkgver:"1.4.15-2ubuntu0.18.04.3")) flag++;
    if (ubuntu_check(osver:"18.04", pkgname:"mosquitto", pkgver:"1.4.15-2ubuntu0.18.04.3")) flag++;
    if (ubuntu_check(osver:"18.04", pkgname:"mosquitto-clients", pkgver:"1.4.15-2ubuntu0.18.04.3")) flag++;
    if (ubuntu_check(osver:"18.10", pkgname:"libmosquitto1", pkgver:"1.4.15-2ubuntu0.18.10.3")) flag++;
    if (ubuntu_check(osver:"18.10", pkgname:"libmosquittopp1", pkgver:"1.4.15-2ubuntu0.18.10.3")) flag++;
    if (ubuntu_check(osver:"18.10", pkgname:"mosquitto", pkgver:"1.4.15-2ubuntu0.18.10.3")) flag++;
    if (ubuntu_check(osver:"18.10", pkgname:"mosquitto-clients", pkgver:"1.4.15-2ubuntu0.18.10.3")) flag++;
    
    if (flag)
    {
      security_report_v4(
        port       : 0,
        severity   : SECURITY_WARNING,
        extra      : ubuntu_report_get()
      );
      exit(0);
    }
    else
    {
      tested = ubuntu_pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "libmosquitto1 / libmosquittopp1 / mosquitto / mosquitto-clients");
    }
    
  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DSA-4325.NASL
    descriptionIt was discovered that mosquitto, an MQTT broker, was vulnerable to remote denial-of-service attacks that could be mounted using various vectors.
    last seen2020-06-01
    modified2020-06-02
    plugin id118408
    published2018-10-26
    reporterThis script is Copyright (C) 2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/118408
    titleDebian DSA-4325-1 : mosquitto - security update
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Debian Security Advisory DSA-4325. The text 
    # itself is copyright (C) Software in the Public Interest, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(118408);
      script_version("1.3");
      script_cvs_date("Date: 2018/11/13 12:30:47");
    
      script_cve_id("CVE-2017-7651", "CVE-2017-7652", "CVE-2017-7653", "CVE-2017-7654");
      script_xref(name:"DSA", value:"4325");
    
      script_name(english:"Debian DSA-4325-1 : mosquitto - security update");
      script_summary(english:"Checks dpkg output for the updated package");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Debian host is missing a security-related update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "It was discovered that mosquitto, an MQTT broker, was vulnerable to
    remote denial-of-service attacks that could be mounted using various
    vectors."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911265"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911266"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security-tracker.debian.org/tracker/source-package/mosquitto"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://packages.debian.org/source/stretch/mosquitto"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.debian.org/security/2018/dsa-4325"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "Upgrade the mosquitto packages.
    
    For the stable distribution (stretch), these problems have been fixed
    in version 1.4.10-3+deb9u2."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:S/C:P/I:P/A:P");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:mosquitto");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:9.0");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2018/10/25");
      script_set_attribute(attribute:"plugin_publication_date", value:"2018/10/26");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2018 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Debian Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/Debian/release", "Host/Debian/dpkg-l");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("debian_package.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/Debian/release")) audit(AUDIT_OS_NOT, "Debian");
    if (!get_kb_item("Host/Debian/dpkg-l")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    if (deb_check(release:"9.0", prefix:"libmosquitto-dev", reference:"1.4.10-3+deb9u2")) flag++;
    if (deb_check(release:"9.0", prefix:"libmosquitto1", reference:"1.4.10-3+deb9u2")) flag++;
    if (deb_check(release:"9.0", prefix:"libmosquitto1-dbg", reference:"1.4.10-3+deb9u2")) flag++;
    if (deb_check(release:"9.0", prefix:"libmosquittopp-dev", reference:"1.4.10-3+deb9u2")) flag++;
    if (deb_check(release:"9.0", prefix:"libmosquittopp1", reference:"1.4.10-3+deb9u2")) flag++;
    if (deb_check(release:"9.0", prefix:"libmosquittopp1-dbg", reference:"1.4.10-3+deb9u2")) flag++;
    if (deb_check(release:"9.0", prefix:"mosquitto", reference:"1.4.10-3+deb9u2")) flag++;
    if (deb_check(release:"9.0", prefix:"mosquitto-clients", reference:"1.4.10-3+deb9u2")) flag++;
    if (deb_check(release:"9.0", prefix:"mosquitto-dbg", reference:"1.4.10-3+deb9u2")) flag++;
    if (deb_check(release:"9.0", prefix:"mosquitto-dev", reference:"1.4.10-3+deb9u2")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:deb_report_get());
      else security_warning(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    
  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DLA-1525.NASL
    descriptionCVE-2017-7653 As invalid UTF-8 strings are not correctly checked, an attacker could cause a denial of service to other clients by disconnecting them from the broker with special crafted topics. CVE-2017-7654 Due to a memory leak unauthenticated clients can send special crafted CONNECT packets which could cause a denial of service in the broker. CVE-2017-9868 Due to wrong file permissions local users could obtain topic information from the mosquitto database. For Debian 8
    last seen2020-06-01
    modified2020-06-02
    plugin id117835
    published2018-10-01
    reporterThis script is Copyright (C) 2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/117835
    titleDebian DLA-1525-1 : mosquitto security update
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from Debian Security Advisory DLA-1525-1. The text
    # itself is copyright (C) Software in the Public Interest, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(117835);
      script_version("1.1");
      script_cvs_date("Date: 2018/10/01 10:24:11");
    
      script_cve_id("CVE-2017-7653", "CVE-2017-7654", "CVE-2017-9868");
    
      script_name(english:"Debian DLA-1525-1 : mosquitto security update");
      script_summary(english:"Checks dpkg output for the updated packages.");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Debian host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "CVE-2017-7653
    
    As invalid UTF-8 strings are not correctly checked, an attacker could
    cause a denial of service to other clients by disconnecting them from
    the broker with special crafted topics.
    
    CVE-2017-7654
    
    Due to a memory leak unauthenticated clients can send special crafted
    CONNECT packets which could cause a denial of service in the broker.
    
    CVE-2017-9868
    
    Due to wrong file permissions local users could obtain topic
    information from the mosquitto database.
    
    For Debian 8 'Jessie', these problems have been fixed in version
    1.3.4-2+deb8u3.
    
    We recommend that you upgrade your mosquitto packages.
    
    NOTE: Tenable Network Security has extracted the preceding description
    block directly from the DLA security advisory. Tenable has attempted
    to automatically clean and format it as much as possible without
    introducing additional issues."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://lists.debian.org/debian-lts-announce/2018/09/msg00036.html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://packages.debian.org/source/jessie/mosquitto"
      );
      script_set_attribute(attribute:"solution", value:"Upgrade the affected packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libmosquitto-dev");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libmosquitto1");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libmosquittopp-dev");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libmosquittopp1");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:mosquitto");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:mosquitto-clients");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:mosquitto-dbg");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:python-mosquitto");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:python3-mosquitto");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:8.0");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2018/09/28");
      script_set_attribute(attribute:"plugin_publication_date", value:"2018/10/01");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2018 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"Debian Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/Debian/release", "Host/Debian/dpkg-l");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("debian_package.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/Debian/release")) audit(AUDIT_OS_NOT, "Debian");
    if (!get_kb_item("Host/Debian/dpkg-l")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    if (deb_check(release:"8.0", prefix:"libmosquitto-dev", reference:"1.3.4-2+deb8u3")) flag++;
    if (deb_check(release:"8.0", prefix:"libmosquitto1", reference:"1.3.4-2+deb8u3")) flag++;
    if (deb_check(release:"8.0", prefix:"libmosquittopp-dev", reference:"1.3.4-2+deb8u3")) flag++;
    if (deb_check(release:"8.0", prefix:"libmosquittopp1", reference:"1.3.4-2+deb8u3")) flag++;
    if (deb_check(release:"8.0", prefix:"mosquitto", reference:"1.3.4-2+deb8u3")) flag++;
    if (deb_check(release:"8.0", prefix:"mosquitto-clients", reference:"1.3.4-2+deb8u3")) flag++;
    if (deb_check(release:"8.0", prefix:"mosquitto-dbg", reference:"1.3.4-2+deb8u3")) flag++;
    if (deb_check(release:"8.0", prefix:"python-mosquitto", reference:"1.3.4-2+deb8u3")) flag++;
    if (deb_check(release:"8.0", prefix:"python3-mosquitto", reference:"1.3.4-2+deb8u3")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:deb_report_get());
      else security_warning(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");