Portage: Untrusted search path local root vulnerability — GLSA 200810-02

A search path vulnerability in Portage allows local attackers to execute commands with root privileges if emerge is called from untrusted directories.

Affected packages

sys-apps/portage on all architectures
Affected versions < 2.1.4.5
Unaffected versions >= 2.1.4.5

Background

Portage is Gentoo's package manager which is responsible for installing, compiling and updating all packages on the system through the Gentoo rsync tree.

Description

The Gentoo Security Team discovered that several ebuilds, such as sys-apps/portage, net-mail/fetchmail or app-editors/leo execute Python code using "python -c", which includes the current working directory in Python's module search path. For several ebuild functions, Portage did not change the working directory from emerge's working directory.

Impact

A local attacker could place a specially crafted Python module in a directory (such as /tmp) and entice the root user to run commands such as "emerge sys-apps/portage" from that directory, resulting in the execution of arbitrary Python code with root privileges.

Workaround

Do not run "emerge" from untrusted working directories.

Resolution

All Portage users should upgrade to the latest version:

 # cd /root
 # emerge --sync
 # emerge --ask --oneshot --verbose ">=sys-apps/portage-2.1.4.5"

NOTE: To upgrade to Portage 2.1.4.5 using 2.1.4.4 or prior, you must run emerge from a trusted working directory, such as "/root".

References

Release date
October 09, 2008

Latest revision
October 09, 2008: 01

Severity
high

Exploitable
local

Bugzilla entries