Lucene search

K
nessusThis script is Copyright (C) 2011-2021 and is owned by Tenable, Inc. or an Affiliate thereof.REDHAT-RHSA-2011-0791.NASL
HistoryMay 20, 2011 - 12:00 a.m.

RHEL 6 : tomcat6 (RHSA-2011:0791)

2011-05-2000:00:00
This script is Copyright (C) 2011-2021 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
23

Updated tomcat6 packages that fix three security issues and several bugs are now available for Red Hat Enterprise Linux 6.

The Red Hat Security Response Team has rated this update as having moderate security impact. Common Vulnerability Scoring System (CVSS) base scores, which give detailed severity ratings, are available for each vulnerability from the CVE links in the References section.

Apache Tomcat is a servlet container for the Java Servlet and JavaServer Pages (JSP) technologies.

It was found that web applications could modify the location of the Tomcat host’s work directory. As web applications deployed on Tomcat have read and write access to this directory, a malicious web application could use this flaw to trick Tomcat into giving it read and write access to an arbitrary directory on the file system.
(CVE-2010-3718)

A cross-site scripting (XSS) flaw was found in the Manager application, used for managing web applications on Tomcat. If a remote attacker could trick a user who is logged into the Manager application into visiting a specially crafted URL, the attacker could perform Manager application tasks with the privileges of the logged in user.
(CVE-2010-4172)

A second cross-site scripting (XSS) flaw was found in the Manager application. A malicious web application could use this flaw to conduct an XSS attack, leading to arbitrary web script execution with the privileges of victims who are logged into and viewing Manager application web pages. (CVE-2011-0013)

This update also fixes the following bugs :

  • A bug in the ‘tomcat6’ init script prevented additional Tomcat instances from starting. As well, running ‘service tomcat6 start’ caused configuration options applied from ‘/etc/sysconfig/tomcat6’ to be overwritten with those from ‘/etc/tomcat6/tomcat6.conf’. With this update, multiple instances of Tomcat run as expected. (BZ#636997)

  • The ‘/usr/share/java/’ directory was missing a symbolic link to the ‘/usr/share/tomcat6/bin/tomcat-juli.jar’ library. Because this library was mandatory for certain operations (such as running the Jasper JSP precompiler), the ‘build-jar-repository’ command was unable to compose a valid classpath. With this update, the missing symbolic link has been added. (BZ#661244)

  • Previously, the ‘tomcat6’ init script failed to start Tomcat with a ‘This account is currently not available.’ message when Tomcat was configured to run under a user that did not have a valid shell configured as a login shell. This update modifies the init script to work correctly regardless of the daemon user’s login shell.
    Additionally, these new tomcat6 packages now set ‘/sbin/nologin’ as the login shell for the ‘tomcat’ user upon installation, as recommended by deployment best practices. (BZ#678671)

  • Some standard Tomcat directories were missing write permissions for the ‘tomcat’ group, which could cause certain applications to fail with errors such as ‘No output folder’. This update adds write permissions for the ‘tomcat’ group to the affected directories.
    (BZ#643809)

  • The ‘/usr/sbin/tomcat6’ wrapper script used a hard-coded path to the ‘catalina.out’ file, which may have caused problems (such as for logging init script output) if Tomcat was being run with a user other than ‘tomcat’ and with CATALINA_BASE set to a directory other than the default. (BZ#695284, BZ#697504)

  • Stopping Tomcat could have resulted in traceback errors being logged to ‘catalina.out’ when certain web applications were deployed.
    (BZ#698624)

Users of Tomcat should upgrade to these updated packages, which contain backported patches to correct these issues. Tomcat must be restarted for this update to take effect.

#%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-2011:0791. The text 
# itself is copyright (C) Red Hat, Inc.
#

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

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

  script_cve_id("CVE-2010-3718", "CVE-2010-4172", "CVE-2011-0013");
  script_bugtraq_id(45015, 46174, 46177);
  script_xref(name:"RHSA", value:"2011:0791");

  script_name(english:"RHEL 6 : tomcat6 (RHSA-2011:0791)");
  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 tomcat6 packages that fix three security issues and several
bugs are now available for Red Hat Enterprise Linux 6.

The Red Hat Security Response Team has rated this update as having
moderate security impact. Common Vulnerability Scoring System (CVSS)
base scores, which give detailed severity ratings, are available for
each vulnerability from the CVE links in the References section.

Apache Tomcat is a servlet container for the Java Servlet and
JavaServer Pages (JSP) technologies.

It was found that web applications could modify the location of the
Tomcat host's work directory. As web applications deployed on Tomcat
have read and write access to this directory, a malicious web
application could use this flaw to trick Tomcat into giving it read
and write access to an arbitrary directory on the file system.
(CVE-2010-3718)

A cross-site scripting (XSS) flaw was found in the Manager
application, used for managing web applications on Tomcat. If a remote
attacker could trick a user who is logged into the Manager application
into visiting a specially crafted URL, the attacker could perform
Manager application tasks with the privileges of the logged in user.
(CVE-2010-4172)

A second cross-site scripting (XSS) flaw was found in the Manager
application. A malicious web application could use this flaw to
conduct an XSS attack, leading to arbitrary web script execution with
the privileges of victims who are logged into and viewing Manager
application web pages. (CVE-2011-0013)

This update also fixes the following bugs :

* A bug in the 'tomcat6' init script prevented additional Tomcat
instances from starting. As well, running 'service tomcat6 start'
caused configuration options applied from '/etc/sysconfig/tomcat6' to
be overwritten with those from '/etc/tomcat6/tomcat6.conf'. With this
update, multiple instances of Tomcat run as expected. (BZ#636997)

* The '/usr/share/java/' directory was missing a symbolic link to the
'/usr/share/tomcat6/bin/tomcat-juli.jar' library. Because this library
was mandatory for certain operations (such as running the Jasper JSP
precompiler), the 'build-jar-repository' command was unable to compose
a valid classpath. With this update, the missing symbolic link has
been added. (BZ#661244)

* Previously, the 'tomcat6' init script failed to start Tomcat with a
'This account is currently not available.' message when Tomcat was
configured to run under a user that did not have a valid shell
configured as a login shell. This update modifies the init script to
work correctly regardless of the daemon user's login shell.
Additionally, these new tomcat6 packages now set '/sbin/nologin' as
the login shell for the 'tomcat' user upon installation, as
recommended by deployment best practices. (BZ#678671)

* Some standard Tomcat directories were missing write permissions for
the 'tomcat' group, which could cause certain applications to fail
with errors such as 'No output folder'. This update adds write
permissions for the 'tomcat' group to the affected directories.
(BZ#643809)

* The '/usr/sbin/tomcat6' wrapper script used a hard-coded path to the
'catalina.out' file, which may have caused problems (such as for
logging init script output) if Tomcat was being run with a user other
than 'tomcat' and with CATALINA_BASE set to a directory other than the
default. (BZ#695284, BZ#697504)

* Stopping Tomcat could have resulted in traceback errors being logged
to 'catalina.out' when certain web applications were deployed.
(BZ#698624)

Users of Tomcat should upgrade to these updated packages, which
contain backported patches to correct these issues. Tomcat must be
restarted for this update to take effect."
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://access.redhat.com/security/cve/cve-2010-3718"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://access.redhat.com/security/cve/cve-2010-4172"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://access.redhat.com/security/cve/cve-2011-0013"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"http://tomcat.apache.org/security-6.html"
  );
  script_set_attribute(
    attribute:"see_also",
    value:"https://access.redhat.com/errata/RHSA-2011:0791"
  );
  script_set_attribute(attribute:"solution", value:"Update the affected packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:N/I:P/A:N");
  script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/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:tomcat6");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:tomcat6-admin-webapps");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:tomcat6-docs-webapp");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:tomcat6-el-2.1-api");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:tomcat6-javadoc");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:tomcat6-jsp-2.1-api");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:tomcat6-lib");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:tomcat6-servlet-2.5-api");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:tomcat6-webapps");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:6");

  script_set_attribute(attribute:"vuln_publication_date", value:"2010/11/26");
  script_set_attribute(attribute:"patch_publication_date", value:"2011/05/19");
  script_set_attribute(attribute:"plugin_publication_date", value:"2011/05/20");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2011-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:"^6([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Red Hat 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-2011:0791";
  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:"RHEL6", reference:"tomcat6-6.0.24-33.el6")) flag++;
  if (rpm_check(release:"RHEL6", reference:"tomcat6-admin-webapps-6.0.24-33.el6")) flag++;
  if (rpm_check(release:"RHEL6", reference:"tomcat6-docs-webapp-6.0.24-33.el6")) flag++;
  if (rpm_check(release:"RHEL6", reference:"tomcat6-el-2.1-api-6.0.24-33.el6")) flag++;
  if (rpm_check(release:"RHEL6", reference:"tomcat6-javadoc-6.0.24-33.el6")) flag++;
  if (rpm_check(release:"RHEL6", reference:"tomcat6-jsp-2.1-api-6.0.24-33.el6")) flag++;
  if (rpm_check(release:"RHEL6", reference:"tomcat6-lib-6.0.24-33.el6")) flag++;
  if (rpm_check(release:"RHEL6", reference:"tomcat6-servlet-2.5-api-6.0.24-33.el6")) flag++;
  if (rpm_check(release:"RHEL6", reference:"tomcat6-webapps-6.0.24-33.el6")) 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, "tomcat6 / tomcat6-admin-webapps / tomcat6-docs-webapp / etc");
  }
}
VendorProductVersionCPE
redhatenterprise_linuxtomcat6p-cpe:/a:redhat:enterprise_linux:tomcat6
redhatenterprise_linuxtomcat6-admin-webappsp-cpe:/a:redhat:enterprise_linux:tomcat6-admin-webapps
redhatenterprise_linuxtomcat6-docs-webappp-cpe:/a:redhat:enterprise_linux:tomcat6-docs-webapp
redhatenterprise_linuxtomcat6-el-2.1-apip-cpe:/a:redhat:enterprise_linux:tomcat6-el-2.1-api
redhatenterprise_linuxtomcat6-javadocp-cpe:/a:redhat:enterprise_linux:tomcat6-javadoc
redhatenterprise_linuxtomcat6-jsp-2.1-apip-cpe:/a:redhat:enterprise_linux:tomcat6-jsp-2.1-api
redhatenterprise_linuxtomcat6-libp-cpe:/a:redhat:enterprise_linux:tomcat6-lib
redhatenterprise_linuxtomcat6-servlet-2.5-apip-cpe:/a:redhat:enterprise_linux:tomcat6-servlet-2.5-api
redhatenterprise_linuxtomcat6-webappsp-cpe:/a:redhat:enterprise_linux:tomcat6-webapps
redhatenterprise_linux6cpe:/o:redhat:enterprise_linux:6