diff --git a/accounts/keystore/presale.go b/accounts/keystore/presale.go index 2f94e27c16..9f61d3060d 100644 --- a/accounts/keystore/presale.go +++ b/accounts/keystore/presale.go @@ -82,6 +82,9 @@ func decryptPreSaleKey(fileContent []byte, password string) (key *Key, err error */ passBytes := []byte(password) derivedKey := pbkdf2.Key(passBytes, passBytes, 2000, 16, sha256.New) + if len(cipherText)%aes.BlockSize != 0 { + return nil, errors.New("ciphertext must be a multiple of block size") + } plainText, err := aesCBCDecrypt(derivedKey, cipherText, iv) if err != nil { return nil, err