Scientific Linux Security Update : python-paste-script on SL6.x i386/x86_64

2012-08-28T00:00:00
ID SL_20120827_PYTHON_PASTE_SCRIPT_ON_SL6_X.NASL
Type nessus
Reporter Tenable
Modified 2012-08-28T00:00:00

Description

Python Paste provides middleware for building and running Python web applications. The python-paste-script package includes paster, a tool for working with and running Python Paste applications.

It was discovered that paster did not drop supplementary group privileges when started by the root user. Running 'paster serve' as root to start a Python web application that will run as a non-root user and group resulted in that application running with root group privileges. This could possibly allow a remote attacker to gain access to files that should not be accessible to the application. (CVE-2012-0878)

All paster users should upgrade to this updated package, which contains a backported patch to resolve this issue. All running paster instances configured to drop privileges must be restarted for this update to take effect.

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

include("compat.inc");

if (description)
{
  script_id(61694);
  script_version("$Revision: 1.1 $");
  script_cvs_date("$Date: 2012/08/28 11:20:02 $");

  script_cve_id("CVE-2012-0878");

  script_name(english:"Scientific Linux Security Update : python-paste-script on SL6.x i386/x86_64");
  script_summary(english:"Checks rpm output for the updated package");

  script_set_attribute(
    attribute:"synopsis", 
    value:"The remote Scientific Linux host is missing a security update."
  );
  script_set_attribute(
    attribute:"description", 
    value:
"Python Paste provides middleware for building and running Python web
applications. The python-paste-script package includes paster, a tool
for working with and running Python Paste applications.

It was discovered that paster did not drop supplementary group
privileges when started by the root user. Running 'paster serve' as
root to start a Python web application that will run as a non-root
user and group resulted in that application running with root group
privileges. This could possibly allow a remote attacker to gain access
to files that should not be accessible to the application.
(CVE-2012-0878)

All paster users should upgrade to this updated package, which
contains a backported patch to resolve this issue. All running paster
instances configured to drop privileges must be restarted for this
update to take effect."
  );
  # http://listserv.fnal.gov/scripts/wa.exe?A2=ind1208&L=scientific-linux-errata&T=0&P=2699
  script_set_attribute(
    attribute:"see_also",
    value:"http://www.nessus.org/u?46d65b9d"
  );
  script_set_attribute(
    attribute:"solution", 
    value:"Update the affected python-paste-script package."
  );
  script_set_cvss_base_vector("CVSS2#AV:N/AC:H/Au:N/C:P/I:P/A:P");

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

  script_set_attribute(attribute:"patch_publication_date", value:"2012/08/27");
  script_set_attribute(attribute:"plugin_publication_date", value:"2012/08/28");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_copyright(english:"This script is Copyright (C) 2012 Tenable Network Security, Inc.");
  script_family(english:"Scientific Linux Local Security Checks");

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

  exit(0);
}


include("audit.inc");
include("global_settings.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) || "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:"SL6", reference:"python-paste-script-1.7.3-5.el6_3")) flag++;


if (flag)
{
  if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
  else security_warning(0);
  exit(0);
}
else audit(AUDIT_HOST_NOT, "affected");