A search path vulnerability in Portage allows local attackers to execute commands with root privileges if emerge is called from untrusted directories.
|Package||sys-apps/portage on all architectures|
|Affected versions||< 126.96.36.199|
|Unaffected versions||>= 188.8.131.52|
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-184.108.40.206"
NOTE: To upgrade to Portage 220.127.116.11 using 18.104.22.168 or prior, you must run emerge from a trusted working directory, such as "/root".
October 09, 2008
October 09, 2008: 01