From 44be675b759d27bac310c2de8bae1b7882a26b65 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Thu, 18 Jul 2019 10:59:29 +0900 Subject: gpg: More check for symmetric key encryption. * g10/dek.h (DEK): Use debugger friendly type of unsigned int. * g10/mainproc.c (symkey_decrypt_seskey): Add another check. Signed-off-by: NIIBE Yutaka --- g10/mainproc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'g10/mainproc.c') diff --git a/g10/mainproc.c b/g10/mainproc.c index 8a9005c21..e98d1f89c 100644 --- a/g10/mainproc.c +++ b/g10/mainproc.c @@ -325,7 +325,8 @@ symkey_decrypt_seskey (DEK *dek, byte *seskey, size_t slen) * the gnupg < 2.2 bug compatible case which would terminate the * process on GPG_ERR_CIPHER_ALGO. Note that with AEAD (above) * we will have a reliable test here. */ - if (openpgp_cipher_test_algo (seskey[0])) + if (openpgp_cipher_test_algo (seskey[0]) + || openpgp_cipher_get_algo_keylen (seskey[0]) != slen - 1) { err = gpg_error (GPG_ERR_CHECKSUM); goto leave; -- cgit v1.2.3