Plug security hole in docker template Post Args

This commit is contained in:
Squidly271
2018-03-17 13:51:57 -04:00
committed by GitHub
parent 1cf53ae6cd
commit a62a0b1861

View File

@@ -422,6 +422,7 @@ function xmlToCommand($xml, $create_paths=false) {
$Devices[] = escapeshellarg($hostConfig);
}
}
$postArgs = explode(";",$xml['PostArgs']);
$cmd = sprintf($docroot.'/plugins/dynamix.docker.manager/scripts/docker create %s %s %s %s %s %s %s %s %s %s %s',
$cmdName,
$cmdNetwork,
@@ -433,14 +434,12 @@ function xmlToCommand($xml, $create_paths=false) {
implode(' --device=', $Devices),
$xml['ExtraParams'],
escapeshellarg($xml['Repository']),
$xml['PostArgs']);
$postArgs[0]);
return [preg_replace('/\s+/', ' ', $cmd), $xml['Name'], $xml['Repository']];
}
function execCommand($command) {
// $command should have all its args already properly run through 'escapeshellarg'
$cmdTmp = explode(";",$command);
$command = $cmdTmp[0];
$descriptorspec = [
0 => ["pipe", "r"], // stdin is a pipe that the child will read from