diff options
author | Filip Skokan <panva.ip@gmail.com> | 2022-11-07 09:35:25 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-07 09:35:25 +0300 |
commit | 0d7a1390db5540c414996fa377f047622c2ff8f7 (patch) | |
tree | 261deeddd53ac736b867f3a9d079c0c5b7959c99 | |
parent | 3759935ee29d8042d917d3ceaa768521c14413ff (diff) |
crypto: handle unsupported AES ciphers in webcrypto
Refs: https://github.com/electron/electron/issues/36256
PR-URL: https://github.com/nodejs/node/pull/45321
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Shelley Vohr <shelley.vohr@gmail.com>
-rw-r--r-- | src/crypto/crypto_aes.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/crypto/crypto_aes.cc b/src/crypto/crypto_aes.cc index 5f84e21fc23..c1c5bf762a7 100644 --- a/src/crypto/crypto_aes.cc +++ b/src/crypto/crypto_aes.cc @@ -556,7 +556,10 @@ Maybe<bool> AESCipherTraits::AdditionalConfig( } params->cipher = EVP_get_cipherbynid(cipher_nid); - CHECK_NOT_NULL(params->cipher); + if (params->cipher == nullptr) { + THROW_ERR_CRYPTO_UNKNOWN_CIPHER(env); + return Nothing<bool>(); + } if (params->iv.size() < static_cast<size_t>(EVP_CIPHER_iv_length(params->cipher))) { |