Lucene search

K
nessusThis script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.REDHAT-RHSA-2018-2482.NASL
HistoryAug 17, 2018 - 12:00 a.m.

RHEL 7 : docker (RHSA-2018:2482)

2018-08-1700:00:00
This script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
28

An update for docker is now available for Red Hat Enterprise Linux 7 Extras.

Red Hat Product Security has rated this update as having a security impact of Moderate. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available for each vulnerability from the CVE link(s) in the References section.

Docker is an open source engine that automates the deployment of any application as a lightweight, portable, self-sufficient container that runs virtually anywhere.

Security Fix(es) :

  • docker: container breakout without selinux in enforcing mode (CVE-2018-10892)

For more details about the security issue(s), including the impact, a CVSS score, and other related information, refer to the CVE page(s) listed in the References section.

This issue was discovered by Antonio Murdaca (Red Hat).

Bug Fix(es) :

  • Previously, the dontaudit and allow SELinux rules were missing, so the kernel raised a SELinux AVC message. Consequently, some commands did not work as expected. This update adds the missing rules, and the commands now run successfully. (BZ#1550967)

  • Previously, during a restart the container daemon did not restore the state of a container correctly if an exec’ed process was associated with the container. Consequently, the container daemon aborted with ‘panic: close of nil channel’ when the daemon was handling the termination of the exec’ed process. This bug has been fixed, and the container daemon no longer panics in the aforementioned scenario. (BZ#1554121)

  • Previously, bind mounts were resolved before using them inside a container. Consequently, symlinks could not be mounted inside of the container. With this update, the source of a bind mount is not resolved. As a result, it is possible to bind mount symlinks again into a container. (BZ#1603201)

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

include("compat.inc");

if (description)
{
  script_id(111805);
  script_version("1.6");
  script_cvs_date("Date: 2019/10/24 15:35:45");

  script_cve_id("CVE-2018-10892");
  script_xref(name:"RHSA", value:"2018:2482");

  script_name(english:"RHEL 7 : docker (RHSA-2018:2482)");
  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:
"An update for docker is now available for Red Hat Enterprise Linux 7
Extras.

Red Hat Product Security has rated this update as having a security
impact of Moderate. A Common Vulnerability Scoring System (CVSS) base
score, which gives a detailed severity rating, is available for each
vulnerability from the CVE link(s) in the References section.

Docker is an open source engine that automates the deployment of any
application as a lightweight, portable, self-sufficient container that
runs virtually anywhere.

Security Fix(es) :

* docker: container breakout without selinux in enforcing mode
(CVE-2018-10892)

For more details about the security issue(s), including the impact, a
CVSS score, and other related information, refer to the CVE page(s)
listed in the References section.

This issue was discovered by Antonio Murdaca (Red Hat).

Bug Fix(es) :

* Previously, the `dontaudit` and `allow` SELinux rules were missing,
so the kernel raised a SELinux AVC message. Consequently, some
commands did not work as expected. This update adds the missing rules,
and the commands now run successfully. (BZ#1550967)

* Previously, during a restart the container daemon did not restore
the state of a container correctly if an exec'ed process was
associated with the container. Consequently, the container daemon
aborted with 'panic: close of nil channel' when the daemon was
handling the termination of the exec'ed process. This bug has been
fixed, and the container daemon no longer panics in the aforementioned
scenario. (BZ#1554121)

* Previously, bind mounts were resolved before using them inside a
container. Consequently, symlinks could not be mounted inside of the
container. With this update, the source of a bind mount is not
resolved. As a result, it is possible to bind mount symlinks again
into a container. (BZ#1603201)"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://access.redhat.com/errata/RHSA-2018:2482"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://access.redhat.com/security/cve/cve-2018-10892"
  );
  script_set_attribute(attribute:"solution", value:"Update the affected packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:P/A:N");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:docker");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:docker-client");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:docker-common");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:docker-debuginfo");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:docker-logrotate");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:docker-lvm-plugin");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:docker-novolume-plugin");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:docker-rhel-push-plugin");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:docker-v1.10-migrator");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:7");

  script_set_attribute(attribute:"vuln_publication_date", value:"2018/07/06");
  script_set_attribute(attribute:"patch_publication_date", value:"2018/08/16");
  script_set_attribute(attribute:"plugin_publication_date", value:"2018/08/17");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2018-2019 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:"^7([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Red Hat 7.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-2018:2482";
  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
{
  flag = 0;
  if (rpm_check(release:"RHEL7", cpu:"s390x", reference:"docker-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"docker-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"s390x", reference:"docker-client-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"docker-client-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"s390x", reference:"docker-common-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"docker-common-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"s390x", reference:"docker-debuginfo-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"docker-debuginfo-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"s390x", reference:"docker-logrotate-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"docker-logrotate-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"s390x", reference:"docker-lvm-plugin-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"docker-lvm-plugin-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"s390x", reference:"docker-novolume-plugin-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"docker-novolume-plugin-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"s390x", reference:"docker-rhel-push-plugin-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"docker-rhel-push-plugin-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"s390x", reference:"docker-v1.10-migrator-1.13.1-74.git6e3bb8e.el7")) flag++;
  if (rpm_check(release:"RHEL7", cpu:"x86_64", reference:"docker-v1.10-migrator-1.13.1-74.git6e3bb8e.el7")) 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, "docker / docker-client / docker-common / docker-debuginfo / etc");
  }
}
VendorProductVersionCPE
redhatenterprise_linuxdockerp-cpe:/a:redhat:enterprise_linux:docker
redhatenterprise_linuxdocker-clientp-cpe:/a:redhat:enterprise_linux:docker-client
redhatenterprise_linuxdocker-commonp-cpe:/a:redhat:enterprise_linux:docker-common
redhatenterprise_linuxdocker-debuginfop-cpe:/a:redhat:enterprise_linux:docker-debuginfo
redhatenterprise_linuxdocker-logrotatep-cpe:/a:redhat:enterprise_linux:docker-logrotate
redhatenterprise_linuxdocker-lvm-pluginp-cpe:/a:redhat:enterprise_linux:docker-lvm-plugin
redhatenterprise_linuxdocker-novolume-pluginp-cpe:/a:redhat:enterprise_linux:docker-novolume-plugin
redhatenterprise_linuxdocker-rhel-push-pluginp-cpe:/a:redhat:enterprise_linux:docker-rhel-push-plugin
redhatenterprise_linuxdocker-v1.10-migratorp-cpe:/a:redhat:enterprise_linux:docker-v1.10-migrator
redhatenterprise_linux7cpe:/o:redhat:enterprise_linux:7