Portage: Untrusted search path local root vulnerability
Gentoo Linux Security Advisory
||GLSA 200810-02 / portage
||October 09, 2008
||October 09, 2008: 01
All supported architectures
A search path vulnerability in Portage allows local attackers to execute
commands with root privileges if emerge is called from untrusted
Portage is Gentoo's package manager which is responsible for
installing, compiling and updating all packages on the system through
the Gentoo rsync tree.
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.
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.
Do not run "emerge" from untrusted working directories.
All Portage users should upgrade to the latest version:
Code Listing 3.1: Resolution
# cd /root
# emerge --sync
# emerge --ask --oneshot --verbose ">=sys-apps/portage-126.96.36.199"
NOTE: To upgrade to Portage 188.8.131.52 using 184.108.40.206 or prior, you must
run emerge from a trusted working directory, such as "/root".