SuSE 10 Security Update : OpenSSL (ZYPP Patch Number 6783)

2010-10-11T00:00:00
ID SUSE_OPENSSL-CVE-2009-4355.PATCH-6783.NASL
Type nessus
Reporter This script is Copyright (C) 2010-2019 Tenable Network Security, Inc.
Modified 2020-12-02T00:00:00

Description

Incorrect use of an OpenSSL cleanup function can lead to memory leaks in applications. For example an SSL enabled web server such as Apache that uses PHP, curl and OpenSSL leaks memory if a SIGHUP signal was sent to Apache. The OpenSSL cleanup function was made more robust to avoid memory leaks. (CVE-2009-4355)

                                        
                                            #%NASL_MIN_LEVEL 80502
#
# (C) Tenable Network Security, Inc.
#
# The text description of this plugin is (C) Novell, Inc.
#

include("compat.inc");

if (description)
{
  script_id(49910);
  script_version ("1.7");
  script_cvs_date("Date: 2019/10/25 13:36:40");

  script_cve_id("CVE-2009-4355");

  script_name(english:"SuSE 10 Security Update : OpenSSL (ZYPP Patch Number 6783)");
  script_summary(english:"Checks rpm output for the updated packages");

  script_set_attribute(
    attribute:"synopsis", 
    value:"The remote SuSE 10 host is missing a security-related patch."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"Incorrect use of an OpenSSL cleanup function can lead to memory leaks
in applications. For example an SSL enabled web server such as Apache
that uses PHP, curl and OpenSSL leaks memory if a SIGHUP signal was
sent to Apache. The OpenSSL cleanup function was made more robust to
avoid memory leaks. (CVE-2009-4355)"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"http://support.novell.com/security/cve/CVE-2009-4355.html"
  );
  script_set_attribute(attribute:"solution", value:"Apply ZYPP patch number 6783.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
  script_cwe_id(399);

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:suse:suse_linux");

  script_set_attribute(attribute:"patch_publication_date", value:"2010/01/15");
  script_set_attribute(attribute:"plugin_publication_date", value:"2010/10/11");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2010-2019 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/cpu", "Host/SuSE/release", "Host/SuSE/rpm-list");

  exit(0);
}


include("global_settings.inc");
include("rpm.inc");


if (!get_kb_item("Host/local_checks_enabled")) exit(0, "Local checks are not enabled.");
if (!get_kb_item("Host/SuSE/release")) exit(0, "The host is not running SuSE.");
if (!get_kb_item("Host/SuSE/rpm-list")) exit(1, "Could not obtain the list of installed packages.");

cpu = get_kb_item("Host/cpu");
if (isnull(cpu)) exit(1, "Failed to determine the architecture type.");
if (cpu >!< "x86_64" && cpu !~ "^i[3-6]86$") exit(1, "Local checks for SuSE 10 on the '"+cpu+"' architecture have not been implemented.");


flag = 0;
if (rpm_check(release:"SLED10", sp:3, reference:"openssl-0.9.8a-18.40.1")) flag++;
if (rpm_check(release:"SLED10", sp:3, reference:"openssl-devel-0.9.8a-18.40.1")) flag++;
if (rpm_check(release:"SLED10", sp:3, cpu:"x86_64", reference:"openssl-32bit-0.9.8a-18.40.1")) flag++;
if (rpm_check(release:"SLED10", sp:3, cpu:"x86_64", reference:"openssl-devel-32bit-0.9.8a-18.40.1")) flag++;
if (rpm_check(release:"SLES10", sp:3, reference:"openssl-0.9.8a-18.40.1")) flag++;
if (rpm_check(release:"SLES10", sp:3, reference:"openssl-devel-0.9.8a-18.40.1")) flag++;
if (rpm_check(release:"SLES10", sp:3, reference:"openssl-doc-0.9.8a-18.40.1")) flag++;
if (rpm_check(release:"SLES10", sp:3, cpu:"x86_64", reference:"openssl-32bit-0.9.8a-18.40.1")) flag++;
if (rpm_check(release:"SLES10", sp:3, cpu:"x86_64", reference:"openssl-devel-32bit-0.9.8a-18.40.1")) flag++;


if (flag)
{
  if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
  else security_warning(0);
  exit(0);
}
else exit(0, "The host is not affected.");