GLSA-200806-05 : cbrPager: User-assisted execution of arbitrary code

2008-06-18T00:00:00
ID GENTOO_GLSA-200806-05.NASL
Type nessus
Reporter This script is Copyright (C) 2008-2019 Tenable Network Security, Inc.
Modified 2020-12-02T00:00:00

Description

The remote host is affected by the vulnerability described in GLSA-200806-05 (cbrPager: User-assisted execution of arbitrary code)

Mamoru Tasaka discovered that filenames of the image archives are not
properly sanitized before being passed to decompression utilities like
unrar and unzip, which use the system() libc library call.

Impact :

A remote attacker could entice a user to open an archive with a
specially crafted filename, resulting in arbitrary code execution with
the privileges of the user running the application.

Workaround :

There is no known workaround at this time.

                                        
                                            #%NASL_MIN_LEVEL 80502
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Gentoo Linux Security Advisory GLSA 200806-05.
#
# The advisory text is Copyright (C) 2001-2015 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(33202);
  script_version("1.13");
  script_cvs_date("Date: 2019/08/02 13:32:45");

  script_cve_id("CVE-2008-2575");
  script_xref(name:"GLSA", value:"200806-05");

  script_name(english:"GLSA-200806-05 : cbrPager: 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-200806-05
(cbrPager: User-assisted execution of arbitrary code)

    Mamoru Tasaka discovered that filenames of the image archives are not
    properly sanitized before being passed to decompression utilities like
    unrar and unzip, which use the system() libc library call.
  
Impact :

    A remote attacker could entice a user to open an archive with a
    specially crafted filename, resulting in arbitrary code execution with
    the privileges of the user running the application.
  
Workaround :

    There is no known workaround at this time."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://security.gentoo.org/glsa/200806-05"
  );
  script_set_attribute(
    attribute:"solution", 
    value:
"All cbrPager users should upgrade to the latest version:
    # emerge --sync
    # emerge --ask --oneshot --verbose '>=app-misc/cbrpager-0.9.17'"
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P");
  script_cwe_id(94);

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:gentoo:linux:cbrpager");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");

  script_set_attribute(attribute:"patch_publication_date", value:"2008/06/16");
  script_set_attribute(attribute:"plugin_publication_date", value:"2008/06/18");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2008-2019 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:"app-misc/cbrpager", unaffected:make_list("ge 0.9.17"), vulnerable:make_list("lt 0.9.17"))) flag++;

if (flag)
{
  if (report_verbosity > 0) security_warning(port:0, extra:qpkg_report_get());
  else security_warning(0);
  exit(0);
}
else
{
  tested = qpkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, "cbrPager");
}