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 <
Unaffected versions >=


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:

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

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


Release date
October 09, 2008

Latest revision
October 09, 2008: 01



Bugzilla entries