Perl: Vulnerabilities in perl-suid wrapper — GLSA 200502-13

Vulnerabilities leading to file overwriting and code execution with elevated privileges have been discovered in the perl-suid wrapper.

Affected Packages

dev-lang/perl on all architectures
Affected versions < 5.8.6-r3
Unaffected versions >= 5.8.6-r3, revision >= 5.8.5-r4, revision >= 5.8.4-r3, revision >= 5.8.2-r3

Background

Perl is a stable, cross-platform programming language created by Larry Wall. The perl-suid wrapper allows the use of setuid perl scripts, i.e. user-callable Perl scripts which have elevated privileges. This function is enabled only if you have the perlsuid USE flag set.

Description

perl-suid scripts honor the PERLIO_DEBUG environment variable and write to that file with elevated privileges (CAN-2005-0155). Furthermore, calling a perl-suid script with a very long path while PERLIO_DEBUG is set could trigger a buffer overflow (CAN-2005-0156).

Impact

A local attacker could set the PERLIO_DEBUG environment variable and call existing perl-suid scripts, resulting in file overwriting and potentially the execution of arbitrary code with root privileges.

Workaround

You are not vulnerable if you do not have the perlsuid USE flag set or do not use perl-suid scripts.

Resolution

All Perl users should upgrade to the latest version:

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

References

Release Date
February 11, 2005

Latest Revision
February 11, 2005: 01

Severity
high

Exploitable
local

Bugzilla entries