Scientific Linux Security Update : nspr and nss for SL 5.x on i386/x86_64

Type nessus
Reporter This script is Copyright (C) 2012-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
Modified 2020-03-02T00:00:00


CVE-2009-2409 deprecate MD2 in SSL cert validation (Kaminsky) CVE-2009-2408 firefox/nss: doesn

                                            #%NASL_MIN_LEVEL 80502
# (C) Tenable Network Security, Inc.
# The descriptive text is (C) Scientific Linux.


if (description)
  script_cvs_date("Date: 2019/10/25 13:36:18");

  script_cve_id("CVE-2009-2404", "CVE-2009-2408", "CVE-2009-2409");

  script_name(english:"Scientific Linux Security Update : nspr and nss for SL 5.x on i386/x86_64");
  script_summary(english:"Checks rpm output for the updated packages");

"The remote Scientific Linux host is missing one or more security
"CVE-2009-2409 deprecate MD2 in SSL cert validation (Kaminsky)
CVE-2009-2408 firefox/nss: doesn't handle NULL in Common Name properly
CVE-2009-2404 nss regexp heap overflow

The packages with this update are identical to the packages released
on the 20th of July 2009. They are being reissued as a Security
Advisory as they fixed a number of security issues that were made
public today. If you are installing these packages for the first time,
they also provide a number of bug fixes and add an enhancement. Since
the packages are identical, there is no need to install this update if
the nspr/nss packages from July 20, 2009 have already been installed.

Netscape Portable Runtime (NSPR) provides platform independence for
non-GUI operating system facilities. These facilities include threads,
thread synchronization, normal file and network I/O, interval timing,
calendar time, basic memory management (malloc and free), and shared
library linking.

Network Security Services (NSS) is a set of libraries designed to
support the cross-platform development of security-enabled client and
server applications. Applications built with NSS can support SSLv2,
SSLv3, TLS, and other security standards.

These updated packages upgrade NSS from the previous version, 3.12.2,
to a prerelease of version 3.12.4. The version of NSPR has also been
upgraded from 4.7.3 to 4.7.4.

Moxie Marlinspike reported a heap overflow flaw in a regular
expression parser in the NSS library used by browsers such as Mozilla
Firefox to match common names in certificates. A malicious website
could present a carefully-crafted certificate in such a way as to
trigger the heap overflow, leading to a crash or, possibly, arbitrary
code execution with the permissions of the user running the browser.

Note: in order to exploit this issue without further user interaction
in Firefox, the carefully-crafted certificate would need to be signed
by a Certificate Authority trusted by Firefox, otherwise Firefox
presents the victim with a warning that the certificate is untrusted.
Only if the user then accepts the certificate will the overflow take

Dan Kaminsky discovered flaws in the way browsers such as Firefox
handle NULL characters in a certificate. If an attacker is able to get
a carefully-crafted certificate signed by a Certificate Authority
trusted by Firefox, the attacker could use the certificate during a
man-in-the-middle attack and potentially confuse Firefox into
accepting it by mistake. (CVE-2009-2408)

Dan Kaminsky found that browsers still accept certificates with MD2
hash signatures, even though MD2 is no longer considered a
cryptographically strong algorithm. This could make it easier for an
attacker to create a malicious certificate that would be treated as
trusted by a browser. NSS now disables the use of MD2 and MD4
algorithms inside signatures by default. (CVE-2009-2409)"
  script_set_attribute(attribute:"solution", value:"Update the affected packages.");
  script_cwe_id(119, 310);

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"x-cpe:/o:fermilab:scientific_linux");

  script_set_attribute(attribute:"vuln_publication_date", value:"2009/07/30");
  script_set_attribute(attribute:"plugin_publication_date", value:"2012/08/01");
  script_set_attribute(attribute:"generated_plugin", value:"current");

  script_copyright(english:"This script is Copyright (C) 2012-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
  script_family(english:"Scientific Linux Local Security Checks");

  script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/RedHat/release", "Host/RedHat/rpm-list");



if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
release = get_kb_item("Host/RedHat/release");
if (isnull(release) || "Scientific Linux " >!< release) audit(AUDIT_HOST_NOT, "running Scientific Linux");
if (!get_kb_item("Host/RedHat/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);

cpu = get_kb_item("Host/cpu");
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if (cpu >!< "x86_64" && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Scientific Linux", cpu);

flag = 0;
if (rpm_check(release:"SL5", reference:"nspr-4.7.4-1.el5_3.1")) flag++;
if (rpm_check(release:"SL5", reference:"nspr-devel-4.7.4-1.el5_3.1")) flag++;
if (rpm_check(release:"SL5", reference:"nss-")) flag++;
if (rpm_check(release:"SL5", reference:"nss-devel-")) flag++;
if (rpm_check(release:"SL5", reference:"nss-pkcs11-devel-")) flag++;
if (rpm_check(release:"SL5", reference:"nss-tools-")) flag++;

if (flag)
  if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
  else security_hole(0);
else audit(AUDIT_HOST_NOT, "affected");