From bbfc401ab8e63e348e2a214308d0902ddbc54f21 Mon Sep 17 00:00:00 2001 From: Gabriele Gristina Date: Fri, 13 Aug 2021 13:06:32 +0200 Subject: [PATCH] add more checks in 27500/27600 module_verify_hash --- OpenCL/m27500-pure.cl | 2 +- OpenCL/m27600-pure.cl | 2 +- tools/test_modules/m27500.pm | 3 +++ tools/test_modules/m27600.pm | 5 +++-- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/OpenCL/m27500-pure.cl b/OpenCL/m27500-pure.cl index 8d72b593d..61e706528 100644 --- a/OpenCL/m27500-pure.cl +++ b/OpenCL/m27500-pure.cl @@ -388,7 +388,7 @@ KERNEL_FQ void m27500_init2 (KERN_ATTR_TMPS_ESALT (pbkdf2_sha256_tmp_t, vbox_t)) out[2] = in[2]; out[3] = in[3]; - u32 S[4] = { 0 }; // tweek, 16 x 0x00 + u32 S[4] = { 0 }; // tweak, 16 x 0x00 u32 T[4] = { 0 }; aes128_set_encrypt_key (ks, ukey2, s_te0, s_te1, s_te2, s_te3); diff --git a/OpenCL/m27600-pure.cl b/OpenCL/m27600-pure.cl index e952ad9a4..eae55a637 100644 --- a/OpenCL/m27600-pure.cl +++ b/OpenCL/m27600-pure.cl @@ -404,7 +404,7 @@ KERNEL_FQ void m27600_init2 (KERN_ATTR_TMPS_ESALT (pbkdf2_sha256_tmp_t, vbox_t)) out[2] = in[2]; out[3] = in[3]; - u32 S[4] = { 0 }; // tweek, 16 x 0x00 + u32 S[4] = { 0 }; // tweak, 16 x 0x00 u32 T[4] = { 0 }; aes256_set_encrypt_key (ks, ukey2, s_te0, s_te1, s_te2, s_te3); diff --git a/tools/test_modules/m27500.pm b/tools/test_modules/m27500.pm index 7c1269e40..d19ee27fd 100644 --- a/tools/test_modules/m27500.pm +++ b/tools/test_modules/m27500.pm @@ -122,7 +122,10 @@ sub module_verify_hash return unless defined $salt2; return unless ($version eq "0"); + return unless (length $salt1 eq 64); return unless ($klen eq "8"); + return unless (length $enc_pass eq 64); + return unless (length $salt2 eq 64); my $word_packed = pack_if_HEX_notation ($word); diff --git a/tools/test_modules/m27600.pm b/tools/test_modules/m27600.pm index a74516aac..6df7583d7 100644 --- a/tools/test_modules/m27600.pm +++ b/tools/test_modules/m27600.pm @@ -94,8 +94,6 @@ sub module_generate_hash my $hash = sprintf ("\$vbox\$0\$%s\$%s\$16\$%s\$%s\$%s\$%s", $iter1, $salt1, $enc_pass, $iter2, $salt2, unpack ("H*", $hash_buf)); -# print "out: ", $hash, "\n"; - return $hash; } @@ -124,7 +122,10 @@ sub module_verify_hash return unless defined $salt2; return unless ($version eq "0"); + return unless (length $salt1 eq 64); return unless ($klen eq "16"); + return unless (length $enc_pass eq 128); + return unless (length $salt2 eq 64); my $word_packed = pack_if_HEX_notation ($word);