Lucene search

K
nessusThis script is Copyright (C) 2014-2021 and is owned by Tenable, Inc. or an Affiliate thereof.REDHAT-RHSA-2014-0627.NASL
HistoryNov 08, 2014 - 12:00 a.m.

RHEL 4 / 5 / 6 : openssl (RHSA-2014:0627)

2014-11-0800:00:00
This script is Copyright (C) 2014-2021 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
183

Updated openssl packages that fix one security issue are now available for Red Hat Enterprise Linux 4 Extended Life Cycle Support, Red Hat Enterprise Linux 5.6 Long Life, Red Hat Enterprise Linux 5.9 Extended Update Support, Red Hat Enterprise Linux 6.2 Advanced Update Support, and Red Hat Enterprise Linux 6.3 and 6.4 Extended Update Support.

The Red Hat Security Response Team has rated this update as having Important security impact. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available from the CVE link in the References section.

OpenSSL is a toolkit that implements the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols, as well as a full-strength, general purpose cryptography library.

It was found that OpenSSL clients and servers could be forced, via a specially crafted handshake packet, to use weak keying material for communication. A man-in-the-middle attacker could use this flaw to decrypt and modify traffic between a client and a server.
(CVE-2014-0224)

Note: In order to exploit this flaw, both the server and the client must be using a vulnerable version of OpenSSL; the server must be using OpenSSL version 1.0.1 and above, and the client must be using any version of OpenSSL. For more information about this flaw, refer to: https://access.redhat.com/site/articles/904433

Red Hat would like to thank the OpenSSL project for reporting this issue. Upstream acknowledges KIKUCHI Masashi of Lepidum as the original reporter of this issue.

All OpenSSL users are advised to upgrade to these updated packages, which contain a backported patch to correct this issue. For the update to take effect, all services linked to the OpenSSL library (such as httpd and other SSL-enabled services) must be restarted or the system rebooted.

#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were  
# extracted from Red Hat Security Advisory RHSA-2014:0627. The text 
# itself is copyright (C) Red Hat, Inc.
#

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

if (description)
{
  script_id(79025);
  script_version("1.17");
  script_set_attribute(attribute:"plugin_modification_date", value:"2021/01/14");

  script_cve_id("CVE-2014-0224");
  script_bugtraq_id(67899);
  script_xref(name:"RHSA", value:"2014:0627");

  script_name(english:"RHEL 4 / 5 / 6 : openssl (RHSA-2014:0627)");
  script_summary(english:"Checks the rpm output for the updated packages");

  script_set_attribute(
    attribute:"synopsis", 
    value:"The remote Red Hat host is missing one or more security updates."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"Updated openssl packages that fix one security issue are now available
for Red Hat Enterprise Linux 4 Extended Life Cycle Support, Red Hat
Enterprise Linux 5.6 Long Life, Red Hat Enterprise Linux 5.9 Extended
Update Support, Red Hat Enterprise Linux 6.2 Advanced Update Support,
and Red Hat Enterprise Linux 6.3 and 6.4 Extended Update Support.

The Red Hat Security Response Team has rated this update as having
Important security impact. A Common Vulnerability Scoring System
(CVSS) base score, which gives a detailed severity rating, is
available from the CVE link in the References section.

OpenSSL is a toolkit that implements the Secure Sockets Layer (SSL
v2/v3) and Transport Layer Security (TLS v1) protocols, as well as a
full-strength, general purpose cryptography library.

It was found that OpenSSL clients and servers could be forced, via a
specially crafted handshake packet, to use weak keying material for
communication. A man-in-the-middle attacker could use this flaw to
decrypt and modify traffic between a client and a server.
(CVE-2014-0224)

Note: In order to exploit this flaw, both the server and the client
must be using a vulnerable version of OpenSSL; the server must be
using OpenSSL version 1.0.1 and above, and the client must be using
any version of OpenSSL. For more information about this flaw, refer
to: https://access.redhat.com/site/articles/904433

Red Hat would like to thank the OpenSSL project for reporting this
issue. Upstream acknowledges KIKUCHI Masashi of Lepidum as the
original reporter of this issue.

All OpenSSL users are advised to upgrade to these updated packages,
which contain a backported patch to correct this issue. For the update
to take effect, all services linked to the OpenSSL library (such as
httpd and other SSL-enabled services) must be restarted or the system
rebooted."
  );
  # https://access.redhat.com/site/articles/904433
  script_set_attribute(
    attribute:"see_also",
    value:"https://access.redhat.com/articles/904433"
  );
  # https://access.redhat.com/site/solutions/905793
  script_set_attribute(
    attribute:"see_also",
    value:"https://access.redhat.com/solutions/905793"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://access.redhat.com/errata/RHSA-2014:0627"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://access.redhat.com/security/cve/cve-2014-0224"
  );
  script_set_attribute(attribute:"solution", value:"Update the affected packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:N");
  script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:X/RL:O/RC:C");
  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");
  script_set_attribute(attribute:"exploit_framework_core", value:"true");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:openssl");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:openssl-debuginfo");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:openssl-devel");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:openssl-perl");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:openssl-static");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:4");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:5.6");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:5.9");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:6");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:6.2");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:6.3");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:6.4");

  script_set_attribute(attribute:"vuln_publication_date", value:"2014/06/05");
  script_set_attribute(attribute:"patch_publication_date", value:"2014/06/05");
  script_set_attribute(attribute:"plugin_publication_date", value:"2014/11/08");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2014-2021 and is owned by Tenable, Inc. or an Affiliate thereof.");
  script_family(english:"Red Hat Local Security Checks");

  script_dependencies("ssh_get_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list", "Host/cpu");

  exit(0);
}


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

if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
release = get_kb_item("Host/RedHat/release");
if (isnull(release) || "Red Hat" >!< release) audit(AUDIT_OS_NOT, "Red Hat");
os_ver = pregmatch(pattern: "Red Hat Enterprise Linux.*release ([0-9]+(\.[0-9]+)?)", string:release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Red Hat");
os_ver = os_ver[1];
if (! preg(pattern:"^(4|5\.6|5\.9|6)([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Red Hat 4.x / 5.6 / 5.9 / 6.x", "Red Hat " + os_ver);

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 ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "s390" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Red Hat", cpu);

yum_updateinfo = get_kb_item("Host/RedHat/yum-updateinfo");
if (!empty_or_null(yum_updateinfo)) 
{
  rhsa = "RHSA-2014:0627";
  yum_report = redhat_generate_yum_updateinfo_report(rhsa:rhsa);
  if (!empty_or_null(yum_report))
  {
    security_report_v4(
      port       : 0,
      severity   : SECURITY_WARNING,
      extra      : yum_report 
    );
    exit(0);
  }
  else
  {
    audit_message = "affected by Red Hat security advisory " + rhsa;
    audit(AUDIT_OS_NOT, audit_message);
  }
}
else
{  sp = get_kb_item("Host/RedHat/minor_release");
  if (isnull(sp)) audit(AUDIT_UNKNOWN_APP_VER, "Red Hat");

  flag = 0;
  if (rpm_check(release:"RHEL4", cpu:"i386", reference:"openssl-0.9.7a-43.22.el4")) flag++;

  if (rpm_check(release:"RHEL4", cpu:"i686", reference:"openssl-0.9.7a-43.22.el4")) flag++;

  if (rpm_check(release:"RHEL4", cpu:"x86_64", reference:"openssl-0.9.7a-43.22.el4")) flag++;

  if (rpm_check(release:"RHEL4", cpu:"i386", reference:"openssl-devel-0.9.7a-43.22.el4")) flag++;

  if (rpm_check(release:"RHEL4", cpu:"x86_64", reference:"openssl-devel-0.9.7a-43.22.el4")) flag++;

  if (rpm_check(release:"RHEL4", cpu:"i386", reference:"openssl-perl-0.9.7a-43.22.el4")) flag++;

  if (rpm_check(release:"RHEL4", cpu:"x86_64", reference:"openssl-perl-0.9.7a-43.22.el4")) flag++;


  if (rpm_check(release:"RHEL5", sp:"9", reference:"openssl-0.9.8e-26.el5_9.4")) flag++;

  if (rpm_check(release:"RHEL5", sp:"6", cpu:"i386", reference:"openssl-0.9.8e-12.el5_6.12")) flag++;

  if (rpm_check(release:"RHEL5", sp:"6", cpu:"i686", reference:"openssl-0.9.8e-12.el5_6.12")) flag++;

  if (rpm_check(release:"RHEL5", sp:"6", cpu:"x86_64", reference:"openssl-0.9.8e-12.el5_6.12")) flag++;

  if (rpm_check(release:"RHEL5", sp:"9", reference:"openssl-debuginfo-0.9.8e-26.el5_9.4")) flag++;

  if (rpm_check(release:"RHEL5", sp:"6", cpu:"i386", reference:"openssl-debuginfo-0.9.8e-12.el5_6.12")) flag++;

  if (rpm_check(release:"RHEL5", sp:"6", cpu:"i686", reference:"openssl-debuginfo-0.9.8e-12.el5_6.12")) flag++;

  if (rpm_check(release:"RHEL5", sp:"6", cpu:"x86_64", reference:"openssl-debuginfo-0.9.8e-12.el5_6.12")) flag++;

  if (rpm_check(release:"RHEL5", sp:"9", reference:"openssl-devel-0.9.8e-26.el5_9.4")) flag++;

  if (rpm_check(release:"RHEL5", sp:"6", cpu:"i386", reference:"openssl-devel-0.9.8e-12.el5_6.12")) flag++;

  if (rpm_check(release:"RHEL5", sp:"6", cpu:"x86_64", reference:"openssl-devel-0.9.8e-12.el5_6.12")) flag++;

  if (rpm_check(release:"RHEL5", sp:"6", cpu:"i386", reference:"openssl-perl-0.9.8e-12.el5_6.12")) flag++;
  if (rpm_check(release:"RHEL5", sp:"9", cpu:"i386", reference:"openssl-perl-0.9.8e-26.el5_9.4")) flag++;

  if (rpm_check(release:"RHEL5", sp:"9", cpu:"s390x", reference:"openssl-perl-0.9.8e-26.el5_9.4")) flag++;

  if (rpm_check(release:"RHEL5", sp:"6", cpu:"x86_64", reference:"openssl-perl-0.9.8e-12.el5_6.12")) flag++;
  if (rpm_check(release:"RHEL5", sp:"9", cpu:"x86_64", reference:"openssl-perl-0.9.8e-26.el5_9.4")) flag++;


  if (rpm_check(release:"RHEL6", sp:"4", reference:"openssl-1.0.0-27.el6_4.4")) flag++;
  if (rpm_check(release:"RHEL6", sp:"3", reference:"openssl-1.0.0-25.el6_3.3")) flag++;

if (sp == "2") {   if (rpm_check(release:"RHEL6", sp:"2", cpu:"i686", reference:"openssl-1.0.0-20.el6_2.7")) flag++; }
  else { if (rpm_check(release:"RHEL6", cpu:"i686", reference:"openssl-1.0.0-27.el6_4.4")) flag++; }

if (sp == "2") {   if (rpm_check(release:"RHEL6", sp:"2", cpu:"x86_64", reference:"openssl-1.0.0-20.el6_2.7")) flag++; }
  else { if (rpm_check(release:"RHEL6", cpu:"x86_64", reference:"openssl-1.0.0-27.el6_4.4")) flag++; }

  if (rpm_check(release:"RHEL6", sp:"4", reference:"openssl-debuginfo-1.0.0-27.el6_4.4")) flag++;

if (sp == "2") {   if (rpm_check(release:"RHEL6", sp:"2", cpu:"i686", reference:"openssl-debuginfo-1.0.0-20.el6_2.7")) flag++; }
  else { if (rpm_check(release:"RHEL6", cpu:"i686", reference:"openssl-debuginfo-1.0.0-27.el6_4.4")) flag++; }

  if (rpm_check(release:"RHEL6", sp:"3", cpu:"s390", reference:"openssl-debuginfo-1.0.0-25.el6_3.3")) flag++;

  if (rpm_check(release:"RHEL6", sp:"3", cpu:"s390x", reference:"openssl-debuginfo-1.0.0-25.el6_3.3")) flag++;

if (sp == "2") {   if (rpm_check(release:"RHEL6", sp:"2", cpu:"x86_64", reference:"openssl-debuginfo-1.0.0-20.el6_2.7")) flag++; }
  else { if (rpm_check(release:"RHEL6", cpu:"x86_64", reference:"openssl-debuginfo-1.0.0-27.el6_4.4")) flag++; }

  if (rpm_check(release:"RHEL6", sp:"4", reference:"openssl-devel-1.0.0-27.el6_4.4")) flag++;
  if (rpm_check(release:"RHEL6", sp:"3", reference:"openssl-devel-1.0.0-25.el6_3.3")) flag++;

if (sp == "2") {   if (rpm_check(release:"RHEL6", sp:"2", cpu:"i686", reference:"openssl-devel-1.0.0-20.el6_2.7")) flag++; }
  else { if (rpm_check(release:"RHEL6", cpu:"i686", reference:"openssl-devel-1.0.0-27.el6_4.4")) flag++; }

if (sp == "2") {   if (rpm_check(release:"RHEL6", sp:"2", cpu:"x86_64", reference:"openssl-devel-1.0.0-20.el6_2.7")) flag++; }
  else { if (rpm_check(release:"RHEL6", cpu:"x86_64", reference:"openssl-devel-1.0.0-27.el6_4.4")) flag++; }

  if (rpm_check(release:"RHEL6", sp:"4", cpu:"i686", reference:"openssl-perl-1.0.0-27.el6_4.4")) flag++;
  if (rpm_check(release:"RHEL6", sp:"3", cpu:"i686", reference:"openssl-perl-1.0.0-25.el6_3.3")) flag++;

  if (rpm_check(release:"RHEL6", sp:"4", cpu:"s390x", reference:"openssl-perl-1.0.0-27.el6_4.4")) flag++;
  if (rpm_check(release:"RHEL6", sp:"3", cpu:"s390x", reference:"openssl-perl-1.0.0-25.el6_3.3")) flag++;

  if (rpm_check(release:"RHEL6", sp:"4", cpu:"x86_64", reference:"openssl-perl-1.0.0-27.el6_4.4")) flag++;
  if (rpm_check(release:"RHEL6", sp:"3", cpu:"x86_64", reference:"openssl-perl-1.0.0-25.el6_3.3")) flag++;
  if (rpm_check(release:"RHEL6", sp:"2", cpu:"x86_64", reference:"openssl-perl-1.0.0-20.el6_2.7")) flag++;

  if (rpm_check(release:"RHEL6", sp:"4", cpu:"i686", reference:"openssl-static-1.0.0-27.el6_4.4")) flag++;
  if (rpm_check(release:"RHEL6", sp:"3", cpu:"i686", reference:"openssl-static-1.0.0-25.el6_3.3")) flag++;

  if (rpm_check(release:"RHEL6", sp:"4", cpu:"s390x", reference:"openssl-static-1.0.0-27.el6_4.4")) flag++;
  if (rpm_check(release:"RHEL6", sp:"3", cpu:"s390x", reference:"openssl-static-1.0.0-25.el6_3.3")) flag++;

  if (rpm_check(release:"RHEL6", sp:"4", cpu:"x86_64", reference:"openssl-static-1.0.0-27.el6_4.4")) flag++;
  if (rpm_check(release:"RHEL6", sp:"3", cpu:"x86_64", reference:"openssl-static-1.0.0-25.el6_3.3")) flag++;
  if (rpm_check(release:"RHEL6", sp:"2", cpu:"x86_64", reference:"openssl-static-1.0.0-20.el6_2.7")) flag++;


  if (flag)
  {
    security_report_v4(
      port       : 0,
      severity   : SECURITY_WARNING,
      extra      : rpm_report_get() + redhat_report_package_caveat()
    );
    exit(0);
  }
  else
  {
    tested = pkg_tests_get();
    if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
    else audit(AUDIT_PACKAGE_NOT_INSTALLED, "openssl / openssl-debuginfo / openssl-devel / openssl-perl / etc");
  }
}