Perl: rmtree and DBI tmpfile vulnerabilities

Security Team  Contact Address

Updated January 26, 2005

1.  Gentoo Linux Security Advisory

Version Information

Advisory Reference GLSA 200501-38 / Perl
Release Date January 26, 2005
Latest Revision March 15, 2005: 03
Impact normal
Exploitable local
Package Vulnerable versions Unaffected versions Architecture(s)
dev-perl/DBI <= 1.38 revision >= 1.37-r1, >= 1.38-r1 All supported architectures
dev-lang/perl <= 5.8.6-r3 >= 5.8.6-r4, revision >= 5.8.5-r5, revision >= 5.8.4-r4, revision >= 5.8.2-r4 All supported architectures

Related bugreports: #75696, #78634, #79685

Synopsis

The Perl DBI library and File::Path::rmtree function are vulnerable to symlink attacks.

2.  Impact Information

Background

Perl is a cross platform programming language. The DBI is the standard database interface module for Perl.

Description

Javier Fernandez-Sanguino Pena discovered that the DBI library creates temporary files in an insecure, predictable way (CAN-2005-0077). Paul Szabo found out that "File::Path::rmtree" is vulnerable to various race conditions (CAN-2004-0452, CAN-2005-0448).

Impact

A local attacker could create symbolic links in the temporary files directory that point to a valid file somewhere on the filesystem. When the DBI library or File::Path::rmtree is executed, this could be used to overwrite or remove files with the rights of the user calling these functions.

3.  Resolution Information

Workaround

There are no known workarounds at this time.

Resolution

All Perl users should upgrade to the latest version:

Code Listing 3.1: Resolution

# emerge --sync
# emerge --ask --oneshot --verbose dev-lang/perl

All DBI library users should upgrade to the latest version:

Code Listing 3.2: Resolution

# emerge --sync
# emerge --ask --oneshot --verbose dev-perl/DBI

4.  References