From ee32a1916a5d5545d4ac470646c0e023a152a406 Mon Sep 17 00:00:00 2001 From: Jakub Jelen Date: Fri, 15 May 2026 17:01:21 +0200 Subject: [PATCH 08/12] CVE-2026-59847 libcrypto: Fix tag verification of AES-GCM ciphers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit EVP_DecryptFinal() returns 0 errors, which was wrongly checked since its introduction. Reported by Ben Smyth discuss@bensmyth.com Signed-off-by: Jakub Jelen Reviewed-by: Pavol Žáčik (cherry picked from commit 6d6cb6cb4d1684bb3f2b9fd23f3635e79d1e5495) --- src/libcrypto.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcrypto.c b/src/libcrypto.c index 658bbcd0..4353d006 100644 --- a/src/libcrypto.c +++ b/src/libcrypto.c @@ -680,7 +680,7 @@ evp_cipher_aead_decrypt(struct ssh_cipher_struct *cipher, rc = EVP_DecryptFinal(cipher->ctx, NULL, &outlen); - if (rc < 0) { + if (rc != 1 || outlen != 0) { SSH_LOG(SSH_LOG_TRACE, "EVP_DecryptFinal failed: Failed authentication"); return SSH_ERROR; } -- 2.54.0 From a7f55e18f9f7cb5ba3f71d8701168aea9d5a670f Mon Sep 17 00:00:00 2001 From: Jakub Jelen Date: Mon, 18 May 2026 08:56:31 +0200 Subject: [PATCH 09/12] CVE-2026-59847 libcrypto: Fix symmetric issue during encryption MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jakub Jelen Reviewed-by: Pavol Žáčik (cherry picked from commit a5173c6ad249f7960bc7c1cc75a6a05ead8e3eba) --- src/libcrypto.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcrypto.c b/src/libcrypto.c index 4353d006..2f11caca 100644 --- a/src/libcrypto.c +++ b/src/libcrypto.c @@ -592,7 +592,7 @@ evp_cipher_aead_encrypt(struct ssh_cipher_struct *cipher, rc = EVP_EncryptFinal(cipher->ctx, NULL, &tmplen); - if (rc < 0) { + if (rc != 1) { SSH_LOG(SSH_LOG_TRACE, "EVP_EncryptFinal failed: Failed to create a tag"); return; } -- 2.54.0