dispatch-conf (included in Portage) and qpkg (included in Gentoolkit) are vulnerable to symlink attacks, potentially allowing a local user to overwrite arbitrary files with the rights of the user running the script.
|Package||sys-apps/portage on all architectures|
|Affected versions||<= 2.0.51-r2|
|Unaffected versions||>= 2.0.51-r3|
|Package||app-portage/gentoolkit on all architectures|
|Affected versions||<= 0.2.0_pre10|
|Unaffected versions||>= 0.2.0_pre10-r1, revision >= 0.2.0_pre8-r1|
Portage is Gentoo's package management tool. The dispatch-conf utility allows for easy rollback of configuration file changes and automatic updates of configurations files never modified by users. Gentoolkit is a collection of Gentoo specific administration scripts, one of which is the portage querying tool qpkg.
dispatch-conf and qpkg use predictable filenames for temporary files.
A local attacker could create symbolic links in the temporary files directory, pointing to a valid file somewhere on the filesystem. When an affected script is called, this would result in the file to be overwritten with the rights of the user running the dispatch-conf or qpkg, which could be the root user.
There is no known workaround at this time.
All Portage users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=sys-apps/portage-2.0.51-r3"
All Gentoolkit users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=app-portage/gentoolkit-0.2.0_pre8-r1"