openSUSE Security Update : libnewt0_52 (libnewt0_52-1331)

2009-10-22T00:00:00
ID SUSE_11_0_LIBNEWT0_52-090923.NASL
Type nessus
Reporter Tenable
Modified 2014-08-16T00:00:00

Description

A heap-based buffer overflow was found in the way newt used to process content, to be rendered in text dialog box. Local attacker could issue a specially crafted text dialog box rendering request (direct or via custom application), leading to denial of service (application crash) or, potentially, to execution of arbitrary code with the privileges of the user running the application.

CVE-2009-2905 has been assigned to this issue.

                                        
                                            #
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from openSUSE Security Update libnewt0_52-1331.
#
# The text description of this plugin is (C) SUSE LLC.
#

include("compat.inc");

if (description)
{
  script_id(42201);
  script_version("$Revision: 1.8 $");
  script_cvs_date("$Date: 2014/08/16 19:47:29 $");

  script_cve_id("CVE-2009-2905");

  script_name(english:"openSUSE Security Update : libnewt0_52 (libnewt0_52-1331)");
  script_summary(english:"Check for the libnewt0_52-1331 patch");

  script_set_attribute(
    attribute:"synopsis", 
    value:"The remote openSUSE host is missing a security update."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"A heap-based buffer overflow was found in the way newt used to process
content, to be rendered in text dialog box. Local attacker could issue
a specially crafted text dialog box rendering request (direct or via
custom application), leading to denial of service (application crash)
or, potentially, to execution of arbitrary code with the privileges of
the user running the application.

CVE-2009-2905 has been assigned to this issue."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://bugzilla.novell.com/show_bug.cgi?id=540930"
  );
  script_set_attribute(
    attribute:"solution", 
    value:"Update the affected libnewt0_52 packages."
  );
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:P/I:P/A:P");
  script_cwe_id(119);

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libnewt0_52");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:newt");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:newt-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:newt-python");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:newt-static");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:11.0");

  script_set_attribute(attribute:"patch_publication_date", value:"2009/09/23");
  script_set_attribute(attribute:"plugin_publication_date", value:"2009/10/22");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2009-2014 Tenable Network Security, Inc.");
  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 !~ "^(SUSE11\.0)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "11.0", 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:"SUSE11.0", reference:"libnewt0_52-0.52.9-20.2") ) flag++;
if ( rpm_check(release:"SUSE11.0", reference:"newt-0.52.9-20.2") ) flag++;
if ( rpm_check(release:"SUSE11.0", reference:"newt-devel-0.52.9-20.2") ) flag++;
if ( rpm_check(release:"SUSE11.0", reference:"newt-python-0.52.9-20.2") ) flag++;
if ( rpm_check(release:"SUSE11.0", reference:"newt-static-0.52.9-20.2") ) flag++;

if (flag)
{
  if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
  else security_warning(0);
  exit(0);
}
else
{
  tested = pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, "newt");
}