Portage: Untrusted search path local root vulnerability

2008-10-09T00:00:00
ID GLSA-200810-02
Type gentoo
Reporter Gentoo Foundation
Modified 2008-10-09T00:00:00

Description

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".