diff --git a/snappymail/v/0.0.0/app/libraries/snappymail/gpg/base.php b/snappymail/v/0.0.0/app/libraries/snappymail/gpg/base.php index 64dd7f63d..e78ed81c0 100644 --- a/snappymail/v/0.0.0/app/libraries/snappymail/gpg/base.php +++ b/snappymail/v/0.0.0/app/libraries/snappymail/gpg/base.php @@ -487,7 +487,7 @@ abstract class Base protected static function findBinary($name) : ?string { - $binary = \function_exists('shell_exec') ? \trim((string) \shell_exec('which $name')) : ''; + $binary = \function_exists('shell_exec') ? \trim((string) \shell_exec('which ' . \escapeshellarg($name))) : ''; if ($binary && \RainLoop\Utils::inOpenBasedir($binary) && \is_executable($binary)) { return $binary; } diff --git a/snappymail/v/0.0.0/app/libraries/snappymail/gpg/pgp.php b/snappymail/v/0.0.0/app/libraries/snappymail/gpg/pgp.php index f3921112f..30d9051f0 100644 --- a/snappymail/v/0.0.0/app/libraries/snappymail/gpg/pgp.php +++ b/snappymail/v/0.0.0/app/libraries/snappymail/gpg/pgp.php @@ -50,7 +50,7 @@ class PGP extends Base implements \SnappyMail\PGP\PGPInterface // How to use gpgme-json ? $this->binary = static::findBinary('gpg'); - $info = \preg_replace('/\R +/', ' ', `$this->binary --with-colons --list-config`); + $info = \preg_replace('/\R +/', ' ', \shell_exec(\escapeshellcmd($this->binary) . ' --with-colons --list-config')); if (\preg_match('/cfg:version:([0-9]+\\.[0-9]+\\.[0-9]+)/', $info, $match)) { $this->version = $match[1]; } diff --git a/snappymail/v/0.0.0/app/libraries/snappymail/gpg/smime.php b/snappymail/v/0.0.0/app/libraries/snappymail/gpg/smime.php index 55a40301b..ec17fdd9e 100644 --- a/snappymail/v/0.0.0/app/libraries/snappymail/gpg/smime.php +++ b/snappymail/v/0.0.0/app/libraries/snappymail/gpg/smime.php @@ -43,7 +43,7 @@ class SMIME extends Base // How to use gpgme-json ? $this->binary = static::findBinary('gpgsm'); - $info = \preg_replace('/\R +/', ' ', \shell_exec("{$this->binary} --version")); + $info = \preg_replace('/\R +/', ' ', \shell_exec(\escapeshellcmd($this->binary) . ' --version') ); if (\preg_match('/gpgsm.+([0-9]+\\.[0-9]+\\.[0-9]+)/', $info, $match)) { $this->version = $match[1]; }