From a685881ec9ca3a62bf2f9a1572dd7a59308db069 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 15 May 2024 10:11:31 +0200 Subject: [PATCH] fix: Correctly check result of function Signed-off-by: Joas Schilling --- lib/private/Installer.php | 2 +- lib/private/Security/IdentityProof/Signer.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/private/Installer.php b/lib/private/Installer.php index 0458c14da8a29..0012ce0eed6d6 100644 --- a/lib/private/Installer.php +++ b/lib/private/Installer.php @@ -296,7 +296,7 @@ public function downloadApp($appId, $allowUnstable = false) { // Check if the signature actually matches the downloaded content $certificate = openssl_get_publickey($app['certificate']); - $verified = (bool)openssl_verify(file_get_contents($tempFile), base64_decode($app['releases'][0]['signature']), $certificate, OPENSSL_ALGO_SHA512); + $verified = openssl_verify(file_get_contents($tempFile), base64_decode($app['releases'][0]['signature']), $certificate, OPENSSL_ALGO_SHA512) === 1; // PHP 8+ deprecates openssl_free_key and automatically destroys the key instance when it goes out of scope if ((PHP_VERSION_ID < 80000)) { openssl_free_key($certificate); diff --git a/lib/private/Security/IdentityProof/Signer.php b/lib/private/Security/IdentityProof/Signer.php index 7431bfe815f14..ab1f62ad6ba25 100644 --- a/lib/private/Security/IdentityProof/Signer.php +++ b/lib/private/Security/IdentityProof/Signer.php @@ -93,12 +93,12 @@ public function verify(array $data): bool { $user = $this->userManager->get($userId); if ($user !== null) { $key = $this->keyManager->getKey($user); - return (bool)openssl_verify( + return openssl_verify( json_encode($data['message']), base64_decode($data['signature']), $key->getPublic(), OPENSSL_ALGO_SHA512 - ); + ) === 1; } }