(Red Hat Issues Fix) Perl Safe Module (Safe::reval and Safe::rdo) Can Be Bypassed
SecurityTracker Alert ID: 1024065|
SecurityTracker URL: http://securitytracker.com/id/1024065
(Links to External Site)
Date: Jun 8 2010
User access via local system|
Fix Available: Yes Vendor Confirmed: Yes |
Version(s): 5.10.0 and prior|
A vulnerability was reported in Perl. A local user can bypass certain safe module restrictions.|
Implicitly called methods (e.g., DESTROY, AUTOLOAD) are not properly restricted by Safe::reval and Safe::rdo. A local user can run a specially crafted Perl script within a Safe compartment to execute those methods without restriction.
Safe.pm version 2.24 and prior versions are affected.
Nick Cleaton reported this vulnerability.
A local user can bypass certain safe module restrictions.|
Red Hat has issued a fix.|
The Red Hat advisory is available at:
Vendor URL: cpan.org/ (Links to External Site)
Access control error|
|Underlying OS: Linux (Red Hat Enterprise)|
|Underlying OS Comments: 5|
This archive entry is a follow-up to the message listed below.|
Source Message Contents
Subject: [RHSA-2010:0458-02] Moderate: perl security update|
Content-Type: text/plain; charset="utf-8"
-----BEGIN PGP SIGNED MESSAGE-----
Red Hat Security Advisory
Synopsis: Moderate: perl security update
Advisory ID: RHSA-2010:0458-02
Product: Red Hat Enterprise Linux
Advisory URL: https://rhn.redhat.com/errata/RHSA-2010-0458.html
Issue date: 2010-06-07
CVE Names: CVE-2008-5302 CVE-2008-5303 CVE-2010-1168
Updated perl packages that fix multiple security issues are now available
for Red Hat Enterprise Linux 5.
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.
2. Relevant releases/architectures:
Red Hat Enterprise Linux (v. 5 server) - i386, ia64, ppc, s390x, x86_64
Red Hat Enterprise Linux Desktop (v. 5 client) - i386, x86_64
Perl is a high-level programming language commonly used for system
administration utilities and web programming. The Safe extension module
allows users to compile and execute Perl code in restricted compartments.
The File::Path module allows users to create and remove directory trees.
The Safe module did not properly restrict the code of implicitly called
methods (such as DESTROY and AUTOLOAD) on implicitly blessed objects
returned as a result of unsafe code evaluation. These methods could have
been executed unrestricted by Safe when such objects were accessed or
destroyed. A specially-crafted Perl script executed inside of a Safe
compartment could use this flaw to bypass intended Safe module
The Safe module did not properly restrict code compiled in a Safe
compartment and executed out of the compartment via a subroutine reference
returned as a result of unsafe code evaluation. A specially-crafted Perl
script executed inside of a Safe compartment could use this flaw to bypass
intended Safe module restrictions, if the returned subroutine reference was
called from outside of the compartment. (CVE-2010-1447)
Multiple race conditions were found in the way the File::Path module's
rmtree function removed directory trees. A malicious, local user with write
access to a directory being removed by a victim, running a Perl script
using rmtree, could cause the permissions of arbitrary files to be changed
to world-writable and setuid, or delete arbitrary files via a symbolic link
attack, if the victim had the privileges to change the permissions of the
target files or to remove them. (CVE-2008-5302, CVE-2008-5303)
Red Hat would like to thank Tim Bunce for responsibly reporting the
CVE-2010-1168 and CVE-2010-1447 issues. Upstream acknowledges Nick Cleaton
Garcia-Suarez as the original reporters of CVE-2010-1447.
These packages upgrade the Safe extension module to version 2.27. Refer to
the Safe module's Changes file, linked to in the References, for a full
list of changes.
Users of perl are advised to upgrade to these updated packages, which
correct these issues. All applications using the Safe or File::Path modules
must be restarted for this update to take effect.
Before applying this update, make sure all previously-released errata
relevant to your system have been applied.
This update is available via the Red Hat Network. Details on how to
use the Red Hat Network to apply this update are available at
5. Bugs fixed (http://bugzilla.redhat.com/):
473450 - CVE-2008-5302 perl: File::Path rmtree race condition (CVE-2005-0448) reintroduced after upstream rebase to 5.8.8-1
474217 - CVE-2008-5303 symlink perl: File::Path rmtree race condition (CVE-2004-0452) reintroduced after upstream rebase to 5.8.8-1
576508 - CVE-2010-1168 perl Safe: Intended restriction bypass via object references
588269 - CVE-2010-1447 perl: Safe restriction bypass when reference to subroutine in compartment is called from outside
6. Package List:
Red Hat Enterprise Linux Desktop (v. 5 client):
Red Hat Enterprise Linux (v. 5 server):
These packages are GPG signed by Red Hat for security. Our key and
details on how to verify the signature are available from
The Red Hat security contact is <email@example.com>. More contact
details at https://www.redhat.com/security/team/contact/
Copyright 2010 Red Hat, Inc.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.4 (GNU/Linux)
-----END PGP SIGNATURE-----
Content-Type: text/plain; charset="us-ascii"
RHSA-announce mailing list