Vulnerabilities > CVE-2018-1000178 - Out-of-bounds Write vulnerability in multiple products
Attack vector
NETWORK Attack complexity
LOW Privileges required
NONE Confidentiality impact
PARTIAL Integrity impact
PARTIAL Availability impact
PARTIAL Summary
A heap corruption of type CWE-120 exists in quassel version 0.12.4 in quasselcore in void DataStreamPeer::processMessage(const QByteArray &msg) datastreampeer.cpp line 62 that allows an attacker to execute code remotely.
Vulnerable Configurations
Part | Description | Count |
---|---|---|
Application | 1 | |
OS | 3 |
Common Weakness Enumeration (CWE)
Nessus
NASL family Debian Local Security Checks NASL id DEBIAN_DSA-4189.NASL description 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 last seen 2020-06-01 modified 2020-06-02 plugin id 109556 published 2018-05-04 reporter This script is Copyright (C) 2018 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/109556 title Debian 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 family SuSE Local Security Checks NASL id OPENSUSE-2018-409.NASL description 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. last seen 2020-06-05 modified 2018-05-03 plugin id 109536 published 2018-05-03 reporter This script is Copyright (C) 2018-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/109536 title openSUSE 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 family Debian Local Security Checks NASL id DEBIAN_DLA-1370.NASL description It was found that the Quassel IRC client was vulnerable to a remote code execution vulnerability due to insufficient checks in the deserializer code. For Debian 7 last seen 2020-03-17 modified 2018-05-07 plugin id 109584 published 2018-05-07 reporter This script is Copyright (C) 2018-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/109584 title Debian DLA-1370-1 : quassel security update code #%NASL_MIN_LEVEL 80502 # # (C) Tenable Network Security, Inc. # # The descriptive text and package checks in this plugin were # extracted from Debian Security Advisory DLA-1370-1. The text # itself is copyright (C) Software in the Public Interest, Inc. # include("compat.inc"); if (description) { script_id(109584); script_version("1.4"); script_set_attribute(attribute:"plugin_modification_date", value:"2020/03/12"); script_cve_id("CVE-2018-1000178"); script_name(english:"Debian DLA-1370-1 : quassel 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: "It was found that the Quassel IRC client was vulnerable to a remote code execution vulnerability due to insufficient checks in the deserializer code. For Debian 7 'Wheezy', these problems have been fixed in version 0.8.0-1+deb7u4. We recommend that you upgrade your quassel 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/05/msg00001.html" ); script_set_attribute( attribute:"see_also", value:"https://packages.debian.org/source/wheezy/quassel" ); script_set_attribute(attribute:"solution", value:"Upgrade the affected 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:debian:debian_linux:quassel"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:quassel-client"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:quassel-client-kde4"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:quassel-core"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:quassel-data"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:quassel-data-kde4"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:quassel-kde4"); script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:7.0"); script_set_attribute(attribute:"patch_publication_date", value:"2018/05/04"); script_set_attribute(attribute:"plugin_publication_date", value:"2018/05/07"); 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:"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:"7.0", prefix:"quassel", reference:"0.8.0-1+deb7u4")) flag++; if (deb_check(release:"7.0", prefix:"quassel-client", reference:"0.8.0-1+deb7u4")) flag++; if (deb_check(release:"7.0", prefix:"quassel-client-kde4", reference:"0.8.0-1+deb7u4")) flag++; if (deb_check(release:"7.0", prefix:"quassel-core", reference:"0.8.0-1+deb7u4")) flag++; if (deb_check(release:"7.0", prefix:"quassel-data", reference:"0.8.0-1+deb7u4")) flag++; if (deb_check(release:"7.0", prefix:"quassel-data-kde4", reference:"0.8.0-1+deb7u4")) flag++; if (deb_check(release:"7.0", prefix:"quassel-kde4", reference:"0.8.0-1+deb7u4")) 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 family Gentoo Local Security Checks NASL id GENTOO_GLSA-201806-04.NASL description 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. last seen 2020-06-01 modified 2020-06-02 plugin id 110525 published 2018-06-14 reporter This script is Copyright (C) 2018 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/110525 title GLSA-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"); }
References
- https://github.com/quassel/quassel/blob/master/src/common/protocols/datastream/datastreampeer.cpp#L62
- https://i.imgur.com/JJ4QcNq.png
- https://lists.debian.org/debian-lts-announce/2018/05/msg00001.html
- https://security.gentoo.org/glsa/201806-04
- https://usn.ubuntu.com/4594-1/
- https://www.debian.org/security/2018/dsa-4189