Vulnerabilities > CVE-2018-1000179 - NULL Pointer Dereference vulnerability in multiple products

047910
CVSS 7.5 - HIGH
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
HIGH
network
low complexity
quassel-irc
debian
CWE-476
nessus

Summary

A NULL Pointer Dereference of CWE-476 exists in quassel version 0.12.4 in the quasselcore void CoreAuthHandler::handle(const Login &msg) coreauthhandler.cpp line 235 that allows an attacker to cause a denial of service.

Vulnerable Configurations

Part Description Count
Application
Quassel-Irc
1
OS
Debian
2

Common Weakness Enumeration (CWE)

Nessus

  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DSA-4189.NASL
    descriptionTwo vulnerabilities were found in the Quassel IRC client, which could result in the execution of arbitrary code or denial of service. Note that you need to restart the
    last seen2020-06-01
    modified2020-06-02
    plugin id109556
    published2018-05-04
    reporterThis script is Copyright (C) 2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/109556
    titleDebian DSA-4189-1 : quassel - security update
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Debian Security Advisory DSA-4189. The text 
    # itself is copyright (C) Software in the Public Interest, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(109556);
      script_version("1.5");
      script_cvs_date("Date: 2018/11/13 12:30:47");
    
      script_cve_id("CVE-2018-1000178", "CVE-2018-1000179");
      script_xref(name:"DSA", value:"4189");
    
      script_name(english:"Debian DSA-4189-1 : quassel - 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:
    "Two vulnerabilities were found in the Quassel IRC client, which could
    result in the execution of arbitrary code or denial of service.
    
    Note that you need to restart the 'quasselcore' service after
    upgrading the Quassel packages."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security-tracker.debian.org/tracker/source-package/quassel"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://packages.debian.org/source/jessie/quassel"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://packages.debian.org/source/stretch/quassel"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.debian.org/security/2018/dsa-4189"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "Upgrade the quassel packages.
    
    For the oldstable distribution (jessie), these problems have been
    fixed in version 1:0.10.0-2.3+deb8u4.
    
    For the stable distribution (stretch), these problems have been fixed
    in version 1:0.12.4-2+deb9u1."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/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:H/I:H/A:H");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:quassel");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:8.0");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:9.0");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2018/05/02");
      script_set_attribute(attribute:"plugin_publication_date", value:"2018/05/04");
      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:"quassel", reference:"1:0.10.0-2.3+deb8u4")) flag++;
    if (deb_check(release:"8.0", prefix:"quassel-client", reference:"1:0.10.0-2.3+deb8u4")) flag++;
    if (deb_check(release:"8.0", prefix:"quassel-client-kde4", reference:"1:0.10.0-2.3+deb8u4")) flag++;
    if (deb_check(release:"8.0", prefix:"quassel-core", reference:"1:0.10.0-2.3+deb8u4")) flag++;
    if (deb_check(release:"8.0", prefix:"quassel-data", reference:"1:0.10.0-2.3+deb8u4")) flag++;
    if (deb_check(release:"8.0", prefix:"quassel-data-kde4", reference:"1:0.10.0-2.3+deb8u4")) flag++;
    if (deb_check(release:"8.0", prefix:"quassel-kde4", reference:"1:0.10.0-2.3+deb8u4")) flag++;
    if (deb_check(release:"9.0", prefix:"quassel", reference:"1:0.12.4-2+deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"quassel-client", reference:"1:0.12.4-2+deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"quassel-client-kde4", reference:"1:0.12.4-2+deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"quassel-core", reference:"1:0.12.4-2+deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"quassel-data", reference:"1:0.12.4-2+deb9u1")) flag++;
    if (deb_check(release:"9.0", prefix:"quassel-kde4", reference:"1:0.12.4-2+deb9u1")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:deb_report_get());
      else security_hole(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2018-409.NASL
    descriptionThis update for quassel fixes the following issues : Security fixes (boo#1090495) : - CVE-2018-1000178: A heap metadata corruption in qdatastream could have been exploited to launch an unauthenticated remote code execution - CVE-2018-1000179: A remote attacker could have caused a Denial of Service attack by initiating login attempts before the core got initialized The following tracked packaging change is included : - boo#1069468: no longer use /var/adm/fillup-templates This update also includes various small bug fixes in the upstream 0.12.4 release.
    last seen2020-06-05
    modified2018-05-03
    plugin id109536
    published2018-05-03
    reporterThis script is Copyright (C) 2018-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/109536
    titleopenSUSE Security Update : quassel (openSUSE-2018-409)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from openSUSE Security Update openSUSE-2018-409.
    #
    # The text description of this plugin is (C) SUSE LLC.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(109536);
      script_version("1.4");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/06/04");
    
      script_cve_id("CVE-2018-1000178", "CVE-2018-1000179");
    
      script_name(english:"openSUSE Security Update : quassel (openSUSE-2018-409)");
      script_summary(english:"Check for the openSUSE-2018-409 patch");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote openSUSE host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "This update for quassel fixes the following issues :
    
    Security fixes (boo#1090495) :
    
      - CVE-2018-1000178: A heap metadata corruption in
        qdatastream could have been exploited to launch an
        unauthenticated remote code execution
    
      - CVE-2018-1000179: A remote attacker could have caused a
        Denial of Service attack by initiating login attempts
        before the core got initialized
    
    The following tracked packaging change is included :
    
      - boo#1069468: no longer use /var/adm/fillup-templates
    
    This update also includes various small bug fixes in the upstream
    0.12.4 release."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1069468"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1090495"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected quassel packages."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/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:H/I:H/A:H");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:quassel-base");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:quassel-client");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:quassel-client-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:quassel-client-qt5");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:quassel-client-qt5-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:quassel-core");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:quassel-core-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:quassel-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:quassel-mono");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:quassel-mono-debuginfo");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:42.3");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2018/05/02");
      script_set_attribute(attribute:"plugin_publication_date", value:"2018/05/03");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2018-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"SuSE Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/SuSE/release", "Host/SuSE/rpm-list", "Host/cpu");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/SuSE/release");
    if (isnull(release) || release =~ "^(SLED|SLES)") audit(AUDIT_OS_NOT, "openSUSE");
    if (release !~ "^(SUSE42\.3)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "42.3", release);
    if (!get_kb_item("Host/SuSE/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    ourarch = get_kb_item("Host/cpu");
    if (!ourarch) audit(AUDIT_UNKNOWN_ARCH);
    if (ourarch !~ "^(x86_64)$") audit(AUDIT_ARCH_NOT, "x86_64", ourarch);
    
    flag = 0;
    
    if ( rpm_check(release:"SUSE42.3", reference:"quassel-base-0.12.5-5.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"quassel-client-0.12.5-5.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"quassel-client-debuginfo-0.12.5-5.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"quassel-client-qt5-0.12.5-5.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"quassel-client-qt5-debuginfo-0.12.5-5.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"quassel-core-0.12.5-5.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"quassel-core-debuginfo-0.12.5-5.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"quassel-debugsource-0.12.5-5.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"quassel-mono-0.12.5-5.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"quassel-mono-debuginfo-0.12.5-5.3.1") ) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "quassel-base / quassel-client / quassel-client-debuginfo / etc");
    }
    
  • NASL familyGentoo Local Security Checks
    NASL idGENTOO_GLSA-201806-04.NASL
    descriptionThe remote host is affected by the vulnerability described in GLSA-201806-04 (Quassel: Multiple vulnerabilities) Multiple vulnerabilities have been discovered in Quassel. Please review the CVE identifiers referenced below for details. Impact : A remote attacker could cause arbitrary code execution or a Denial of Service condition. Workaround : There is no known workaround at this time.
    last seen2020-06-01
    modified2020-06-02
    plugin id110525
    published2018-06-14
    reporterThis script is Copyright (C) 2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/110525
    titleGLSA-201806-04 : Quassel: Multiple vulnerabilities
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from Gentoo Linux Security Advisory GLSA 201806-04.
    #
    # The advisory text is Copyright (C) 2001-2018 Gentoo Foundation, Inc.
    # and licensed under the Creative Commons - Attribution / Share Alike 
    # license. See http://creativecommons.org/licenses/by-sa/3.0/
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(110525);
      script_version("1.2");
      script_cvs_date("Date: 2018/09/04 13:20:07");
    
      script_cve_id("CVE-2018-1000178", "CVE-2018-1000179");
      script_xref(name:"GLSA", value:"201806-04");
    
      script_name(english:"GLSA-201806-04 : Quassel: Multiple vulnerabilities");
      script_summary(english:"Checks for updated package(s) in /var/db/pkg");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:
    "The remote Gentoo host is missing one or more security-related
    patches."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "The remote host is affected by the vulnerability described in GLSA-201806-04
    (Quassel: Multiple vulnerabilities)
    
        Multiple vulnerabilities have been discovered in Quassel. Please review
          the CVE identifiers referenced below for details.
      
    Impact :
    
        A remote attacker could cause arbitrary code execution or a Denial of
          Service condition.
      
    Workaround :
    
        There is no known workaround at this time."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security.gentoo.org/glsa/201806-04"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "All Quassel users should upgrade to the latest version:
          # emerge --sync
          # emerge --ask --oneshot --verbose '>=net-irc/quassel-0.12.5'"
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/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:H/I:H/A:H");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:quassel");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2018/06/14");
      script_set_attribute(attribute:"plugin_publication_date", value:"2018/06/14");
      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:"Gentoo Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/Gentoo/release", "Host/Gentoo/qpkg-list");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("qpkg.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/Gentoo/release")) audit(AUDIT_OS_NOT, "Gentoo");
    if (!get_kb_item("Host/Gentoo/qpkg-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    
    if (qpkg_check(package:"net-irc/quassel", unaffected:make_list("ge 0.12.5"), vulnerable:make_list("lt 0.12.5"))) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:qpkg_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = qpkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "Quassel");
    }