Vulnerabilities > CVE-2014-0045 - Numeric Errors vulnerability in Light Speed Gaming Mumble and Mumblekit

047910
CVSS 7.5 - HIGH
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
PARTIAL
Integrity impact
PARTIAL
Availability impact
PARTIAL
network
low complexity
light-speed-gaming
CWE-189
nessus

Summary

The needSamples method in AudioOutputSpeech.cpp in the client in Mumble 1.2.4 and the 1.2.3 pre-release snapshots, Mumble for iOS 1.1 through 1.2.2, and MumbleKit before commit fd190328a9b24d37382b269a5674b0c0c7a7e36d does not check the return value of the opus_decode_float function, which allows remote attackers to cause a denial of service (crash) and possibly execute arbitrary code via a crafted Opus voice packet, which triggers an error in opus_decode_float, a conversion of a negative integer to an unsigned integer, and a heap-based buffer over-read and over-write.

Common Weakness Enumeration (CWE)

Nessus

  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2014-152.NASL
    descriptionThis update fixes two security issues with mumble : - bnc#862527: updated to version 1.2.5 to address two Denial of Service security issues (CVE-2014-0044, CVE-2014-0045).
    last seen2020-06-05
    modified2014-06-13
    plugin id75264
    published2014-06-13
    reporterThis script is Copyright (C) 2014-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/75264
    titleopenSUSE Security Update : mumble (openSUSE-SU-2014:0271-1)
    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-2014-152.
    #
    # The text description of this plugin is (C) SUSE LLC.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(75264);
      script_version("1.3");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/06/04");
    
      script_cve_id("CVE-2014-0044", "CVE-2014-0045");
    
      script_name(english:"openSUSE Security Update : mumble (openSUSE-SU-2014:0271-1)");
      script_summary(english:"Check for the openSUSE-2014-152 patch");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote openSUSE host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "This update fixes two security issues with mumble :
    
      - bnc#862527: updated to version 1.2.5 to address two
        Denial of Service security issues (CVE-2014-0044,
        CVE-2014-0045)."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/show_bug.cgi?id=855478"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/show_bug.cgi?id=862527"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://lists.opensuse.org/opensuse-updates/2014-02/msg00063.html"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected mumble packages."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:mumble");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:mumble-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:mumble-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:mumble-debuginfo-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:mumble-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:mumble-server");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:mumble-server-debuginfo");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:12.3");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:13.1");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2014/02/12");
      script_set_attribute(attribute:"plugin_publication_date", value:"2014/06/13");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2014-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 !~ "^(SUSE12\.3|SUSE13\.1)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "12.3 / 13.1", 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 !~ "^(i586|i686|x86_64)$") audit(AUDIT_ARCH_NOT, "i586 / i686 / x86_64", ourarch);
    
    flag = 0;
    
    if ( rpm_check(release:"SUSE12.3", reference:"mumble-1.2.5-21.4.1") ) flag++;
    if ( rpm_check(release:"SUSE12.3", reference:"mumble-debuginfo-1.2.5-21.4.1") ) flag++;
    if ( rpm_check(release:"SUSE12.3", reference:"mumble-debugsource-1.2.5-21.4.1") ) flag++;
    if ( rpm_check(release:"SUSE12.3", reference:"mumble-server-1.2.5-21.4.1") ) flag++;
    if ( rpm_check(release:"SUSE12.3", reference:"mumble-server-debuginfo-1.2.5-21.4.1") ) flag++;
    if ( rpm_check(release:"SUSE12.3", cpu:"x86_64", reference:"mumble-32bit-1.2.5-21.4.1") ) flag++;
    if ( rpm_check(release:"SUSE12.3", cpu:"x86_64", reference:"mumble-debuginfo-32bit-1.2.5-21.4.1") ) flag++;
    if ( rpm_check(release:"SUSE13.1", reference:"mumble-1.2.5-2.8.2") ) flag++;
    if ( rpm_check(release:"SUSE13.1", reference:"mumble-debuginfo-1.2.5-2.8.2") ) flag++;
    if ( rpm_check(release:"SUSE13.1", reference:"mumble-debugsource-1.2.5-2.8.2") ) flag++;
    if ( rpm_check(release:"SUSE13.1", reference:"mumble-server-1.2.5-2.8.2") ) flag++;
    if ( rpm_check(release:"SUSE13.1", reference:"mumble-server-debuginfo-1.2.5-2.8.2") ) flag++;
    if ( rpm_check(release:"SUSE13.1", cpu:"x86_64", reference:"mumble-32bit-1.2.5-2.8.2") ) flag++;
    if ( rpm_check(release:"SUSE13.1", cpu:"x86_64", reference:"mumble-debuginfo-32bit-1.2.5-2.8.2") ) 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, "mumble / mumble-32bit / mumble-debuginfo / mumble-debuginfo-32bit / etc");
    }
    
  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DSA-2854.NASL
    descriptionSeveral issues have been discovered in mumble, a low latency VoIP client. The Common Vulnerabilities and Exposures project identifies the following issues : - CVE-2014-0044 It was discovered that a malformed Opus voice packet sent to a Mumble client could trigger a NULL pointer dereference or an out-of-bounds array access. A malicious remote attacker could exploit this flaw to mount a denial of service attack against a mumble client by causing the application to crash. - CVE-2014-0045 It was discovered that a malformed Opus voice packet sent to a Mumble client could trigger a heap-based buffer overflow. A malicious remote attacker could use this flaw to cause a client crash (denial of service) or potentially use it to execute arbitrary code. The oldstable distribution (squeeze) is not affected by these problems.
    last seen2020-03-17
    modified2014-02-06
    plugin id72354
    published2014-02-06
    reporterThis script is Copyright (C) 2014-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/72354
    titleDebian DSA-2854-1 : mumble - several vulnerabilities
    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 DSA-2854. The text 
    # itself is copyright (C) Software in the Public Interest, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(72354);
      script_version("1.8");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/03/12");
    
      script_cve_id("CVE-2014-0044", "CVE-2014-0045");
      script_xref(name:"DSA", value:"2854");
    
      script_name(english:"Debian DSA-2854-1 : mumble - several vulnerabilities");
      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:
    "Several issues have been discovered in mumble, a low latency VoIP
    client. The Common Vulnerabilities and Exposures project identifies
    the following issues :
    
      - CVE-2014-0044
        It was discovered that a malformed Opus voice packet
        sent to a Mumble client could trigger a NULL pointer
        dereference or an out-of-bounds array access. A
        malicious remote attacker could exploit this flaw to
        mount a denial of service attack against a mumble client
        by causing the application to crash.
    
      - CVE-2014-0045
        It was discovered that a malformed Opus voice packet
        sent to a Mumble client could trigger a heap-based
        buffer overflow. A malicious remote attacker could use
        this flaw to cause a client crash (denial of service) or
        potentially use it to execute arbitrary code.
    
    The oldstable distribution (squeeze) is not affected by these
    problems."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=737739"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security-tracker.debian.org/tracker/CVE-2014-0044"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security-tracker.debian.org/tracker/CVE-2014-0045"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://packages.debian.org/source/wheezy/mumble"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.debian.org/security/2014/dsa-2854"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "Upgrade the mumble packages.
    
    For the stable distribution (wheezy), these problems have been fixed
    in version 1.2.3-349-g315b5f5-2.2+deb7u1."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:mumble");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:7.0");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2014/02/05");
      script_set_attribute(attribute:"plugin_publication_date", value:"2014/02/06");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2014-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:"mumble", reference:"1.2.3-349-g315b5f5-2.2+deb7u1")) flag++;
    if (deb_check(release:"7.0", prefix:"mumble-dbg", reference:"1.2.3-349-g315b5f5-2.2+deb7u1")) flag++;
    if (deb_check(release:"7.0", prefix:"mumble-server", reference:"1.2.3-349-g315b5f5-2.2+deb7u1")) 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 familyFreeBSD Local Security Checks
    NASL idFREEBSD_PKG_C2C8C84BE73411E39A255404A6A6412C.NASL
    descriptionMumble reports : A malformed Opus voice packet sent to a Mumble client could trigger a NULL pointer dereference or an out-of-bounds array access. A malformed Opus voice packet sent to a Mumble client could trigger a heap-based buffer overflow.
    last seen2020-06-01
    modified2020-06-02
    plugin id74240
    published2014-05-30
    reporterThis script is Copyright (C) 2014-2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/74240
    titleFreeBSD : mumble -- NULL pointer dereference and heap-based buffer overflow (c2c8c84b-e734-11e3-9a25-5404a6a6412c)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from the FreeBSD VuXML database :
    #
    # Copyright 2003-2018 Jacques Vidrine and contributors
    #
    # Redistribution and use in source (VuXML) and 'compiled' forms (SGML,
    # HTML, PDF, PostScript, RTF and so forth) with or without modification,
    # are permitted provided that the following conditions are met:
    # 1. Redistributions of source code (VuXML) must retain the above
    #    copyright notice, this list of conditions and the following
    #    disclaimer as the first lines of this file unmodified.
    # 2. Redistributions in compiled form (transformed to other DTDs,
    #    published online in any format, converted to PDF, PostScript,
    #    RTF and other formats) must reproduce the above copyright
    #    notice, this list of conditions and the following disclaimer
    #    in the documentation and/or other materials provided with the
    #    distribution.
    # 
    # THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS"
    # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
    # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
    # OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
    # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
    # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION,
    # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(74240);
      script_version("1.3");
      script_cvs_date("Date: 2018/12/19 13:21:18");
    
      script_cve_id("CVE-2014-0044", "CVE-2014-0045");
    
      script_name(english:"FreeBSD : mumble -- NULL pointer dereference and heap-based buffer overflow (c2c8c84b-e734-11e3-9a25-5404a6a6412c)");
      script_summary(english:"Checks for updated package in pkg_info output");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote FreeBSD host is missing a security-related update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Mumble reports :
    
    A malformed Opus voice packet sent to a Mumble client could trigger a
    NULL pointer dereference or an out-of-bounds array access.
    
    A malformed Opus voice packet sent to a Mumble client could trigger a
    heap-based buffer overflow."
      );
      # http://mumble.info/security/Mumble-SA-2014-001.txt
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.mumble.info/security/Mumble-SA-2014-001.txt"
      );
      # http://mumble.info/security/Mumble-SA-2014-002.txt
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.mumble.info/security/Mumble-SA-2014-002.txt"
      );
      # https://vuxml.freebsd.org/freebsd/c2c8c84b-e734-11e3-9a25-5404a6a6412c.html
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?b223c552"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected package.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:mumble");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:freebsd:freebsd");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2014/01/25");
      script_set_attribute(attribute:"patch_publication_date", value:"2014/05/29");
      script_set_attribute(attribute:"plugin_publication_date", value:"2014/05/30");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2014-2018 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"FreeBSD Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/FreeBSD/release", "Host/FreeBSD/pkg_info");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("freebsd_package.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/FreeBSD/release")) audit(AUDIT_OS_NOT, "FreeBSD");
    if (!get_kb_item("Host/FreeBSD/pkg_info")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    
    if (pkg_test(save_report:TRUE, pkg:"mumble>=1.2.4<=1.2.4_6")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:pkg_report_get());
      else security_hole(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2014-5767.NASL
    descriptionNew upstream release 1.2.5. This update fixes : - CVE-2014-0044 - CVE-2014-0045 Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-03-17
    modified2014-05-09
    plugin id73928
    published2014-05-09
    reporterThis script is Copyright (C) 2014-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/73928
    titleFedora 20 : mumble-1.2.5-1.fc20 (2014-5767)
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2014-5751.NASL
    descriptionNew upstream release 1.2.5. This update fixes : - CVE-2014-0044 - CVE-2014-0045 Note that Tenable Network Security has extracted the preceding description block directly from the Fedora security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-03-17
    modified2014-05-09
    plugin id73927
    published2014-05-09
    reporterThis script is Copyright (C) 2014-2020 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/73927
    titleFedora 19 : mumble-1.2.5-1.fc19 (2014-5751)
  • NASL familyGentoo Local Security Checks
    NASL idGENTOO_GLSA-201406-06.NASL
    descriptionThe remote host is affected by the vulnerability described in GLSA-201406-06 (Mumble: Multiple vulnerabilities) Multiple vulnerabilities have been discovered in Mumble: A crafted length prefix value can trigger a heap-based buffer overflow or NULL pointer dereference in the opus_packet_get_samples_per_frame function (CVE-2014-0044) A crafted packet can trigger an error in the opus_decode_float function, leading to a heap-based buffer overflow (CVE-2014-0045) A crafted SVG referencing local files can lead to resource exhaustion or hangs (CVE-2014-3755) Mumble does not properly escape HTML in some external strings before displaying them (CVE-2014-3756) Impact : A remote attacker could possibly execute arbitrary code with the privileges of the process or cause a Denial of Service condition. Workaround : There is no known workaround at this time.
    last seen2020-06-01
    modified2020-06-02
    plugin id74371
    published2014-06-07
    reporterThis script is Copyright (C) 2014-2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/74371
    titleGLSA-201406-06 : Mumble: Multiple vulnerabilities

Seebug

bulletinFamilyexploit
descriptionBUGTRAQ ID: 65374 CVE(CAN) ID: CVE-2014-0045 Mumble是玩游戏时使用的开源的、低延迟的语音聊天软件。 Mumble 1.2.4及其他版本客户端的AudioOutputSpeech.cpp中,needSamples方法没有检查opus_decode_float函数的返回值,这可使远程攻击者通过特制的Opus声音数据包造成拒绝服务并执行任意代码。 0 sourceforge Mumble 1.2.4 厂商补丁: sourceforge ----------- 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: http://mumble.sourceforge.net/ http://mumble.info/security/Mumble-SA-2014-004.txt http://mumble.info/security/Mumble-SA-2014-002.txt
idSSV:61457
last seen2017-11-19
modified2014-02-17
published2014-02-17
reporterRoot
titleMumble needSamples方法堆缓冲区溢出漏洞