1
0
Fork 0

Merge remote-tracking branch 'curry684/issue-5119'

pull/5139/head
Jordi Boggiano 2016-04-01 01:22:44 +01:00
commit 289ef7fbfb
1 changed files with 13 additions and 0 deletions

View File

@ -133,6 +133,19 @@ class Application extends BaseApplication
$input->setInteractive(false); $input->setInteractive(false);
} }
if (!Platform::isWindows()) {
if (function_exists('posix_getuid') && posix_getuid() === 0) {
$io->writeError('<warning>Running composer as root is highly discouraged as packages, plugins and scripts cannot always be trusted</warning>');
if ($uid = getenv('SUDO_UID')) {
// Silently clobber any sudo credentials on the invoking user to avoid privilege escalations later on
// ref. https://github.com/composer/composer/issues/5119
exec("sudo -u \\#{$uid} sudo -K > /dev/null 2>&1");
}
}
// Silently clobber any remaining sudo leases on the current user as well to avoid privilege escalations
exec("sudo -K > /dev/null 2>&1");
}
// switch working dir // switch working dir
if ($newWorkDir = $this->getNewWorkingDir($input)) { if ($newWorkDir = $this->getNewWorkingDir($input)) {
$oldWorkingDir = getcwd(); $oldWorkingDir = getcwd();