Perl Safe module: Arbitrary Perl code injection — GLSA 201111-09

The Safe module for Perl does not properly restrict code, allowing a remote attacker to execute arbitrary Perl code outside of a restricted compartment.

Affected packages

perl-core/Safe on all architectures
Affected versions < 2.27
Unaffected versions >= 2.27
virtual/perl-Safe on all architectures
Affected versions < 2.27
Unaffected versions >= 2.27

Background

Safe is a Perl module to compile and execute code in restricted compartments.

Description

Unsafe code evaluation prevents the Safe module from properly restricting the code of implicitly called methods on implicitly blessed objects.

Impact

A remote attacker could entice a user to load a specially crafted Perl script, resulting in execution arbitrary Perl code outside of a restricted compartment.

Workaround

There is no known workaround at this time.

Resolution

All users of the standalone Perl Safe module should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=perl-core/Safe-2.27"
 

All users of the Safe module bundled with Perl should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=virtual/perl-Safe-2.27"
 

NOTE: This is a legacy GLSA. Updates for all affected architectures are available since July 18, 2010. It is likely that your system is already no longer affected by this issue.

References

Release date
November 20, 2011

Latest revision
November 20, 2011: 1

Severity
normal

Exploitable
remote

Bugzilla entries