Lucene search

K
nessusThis script is Copyright (C) 2017-2021 Tenable Network Security, Inc.GENTOO_GLSA-201702-21.NASL
HistoryFeb 21, 2017 - 12:00 a.m.

GLSA-201702-21 : Opus: User-assisted execution of arbitrary code

2017-02-2100:00:00
This script is Copyright (C) 2017-2021 Tenable Network Security, Inc.
www.tenable.com
21

The remote host is affected by the vulnerability described in GLSA-201702-21 (Opus: User-assisted execution of arbitrary code)

A large NLSF values could cause the stabilization code in       silk/NLSF_stabilize.c to wrap-around and have the last value in       NLSF_Q15[] to be negative, close to -32768.
Under normal circumstances, the code will simply read from the wrong       table resulting in an unstable LPC filter. The filter would then go       through the LPC stabilization code at the end of silk_NLSF2A().
Ultimately, the output audio would be garbage, but no worse than with       any other harmless bad packet.
Please see the referenced upstream patch and Debian bug report below for       a detailed analysis.
However, the original report was about a successful exploitation of       Android’s Mediaserver in conjunction with this vulnerability.

Impact :

A remote attacker could entice a user to open a specially crafted media       stream, possibly resulting in execution of arbitrary code with the       privileges of the process, or a Denial of Service condition.

Workaround :

There is no known workaround at this time.
#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Gentoo Linux Security Advisory GLSA 201702-21.
#
# The advisory text is Copyright (C) 2001-2017 Gentoo Foundation, Inc.
# and licensed under the Creative Commons - Attribution / Share Alike 
# license. See http://creativecommons.org/licenses/by-sa/3.0/
#

include('deprecated_nasl_level.inc');
include('compat.inc');

if (description)
{
  script_id(97264);
  script_version("3.2");
  script_set_attribute(attribute:"plugin_modification_date", value:"2021/01/11");

  script_cve_id("CVE-2017-0381");
  script_xref(name:"GLSA", value:"201702-21");

  script_name(english:"GLSA-201702-21 : Opus: User-assisted execution of arbitrary code");
  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-201702-21
(Opus: User-assisted execution of arbitrary code)

    A large NLSF values could cause the stabilization code in
      silk/NLSF_stabilize.c to wrap-around and have the last value in
      NLSF_Q15[] to be negative, close to -32768.
    Under normal circumstances, the code will simply read from the wrong
      table resulting in an unstable LPC filter. The filter would then go
      through the LPC stabilization code at the end of silk_NLSF2A().
    Ultimately, the output audio would be garbage, but no worse than with
      any other harmless bad packet.
    Please see the referenced upstream patch and Debian bug report below for
      a detailed analysis.
    However, the original report was about a successful exploitation of
      Android’s Mediaserver in conjunction with this vulnerability.
  
Impact :

    A remote attacker could entice a user to open a specially crafted media
      stream, possibly resulting in execution of arbitrary code with the
      privileges of the process, or a Denial of Service condition.
  
Workaround :

    There is no known workaround at this time."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=851612#10"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://git.xiph.org/?p=opus.git;a=commitdiff;h=70a3d641b"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://security.gentoo.org/glsa/201702-21"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"All Opus users should upgrade to the latest version:
      # emerge --sync
      # emerge --ask --oneshot --verbose '>=media-libs/opus-1.1.3-r1'"
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:C/I:C/A:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:N/UI:R/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:opus");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");

  script_set_attribute(attribute:"patch_publication_date", value:"2017/02/20");
  script_set_attribute(attribute:"plugin_publication_date", value:"2017/02/21");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2017-2021 Tenable Network Security, Inc.");
  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:"media-libs/opus", unaffected:make_list("ge 1.1.3-r1"), vulnerable:make_list("lt 1.1.3-r1"))) 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, "Opus");
}
VendorProductVersionCPE
gentoolinuxopusp-cpe:/a:gentoo:linux:opus
gentoolinuxcpe:/o:gentoo:linux