mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2024-11-28 18:28:23 -05:00
DPP2: Explicitly check EC_KEY before dereferencing it
In theory, the EVP_PKEY_get0_EC_KEY() could fail, so verify that it
succeeds before using the pointer to get the group.
Fixes: 65e94351dc
("DPP2: Reconfig Authentication Request processing and Response generation")
Signed-off-by: Disha Das <dishad@codeaurora.org>
This commit is contained in:
parent
c575904761
commit
02289ab537
@ -2305,13 +2305,15 @@ int dpp_reconfig_derive_ke_responder(struct dpp_authentication *auth,
|
|||||||
/* M = { cR + pR } * CI */
|
/* M = { cR + pR } * CI */
|
||||||
cR = EVP_PKEY_get0_EC_KEY(own_key);
|
cR = EVP_PKEY_get0_EC_KEY(own_key);
|
||||||
pR = EVP_PKEY_get0_EC_KEY(auth->own_protocol_key);
|
pR = EVP_PKEY_get0_EC_KEY(auth->own_protocol_key);
|
||||||
|
if (!pR)
|
||||||
|
goto fail;
|
||||||
group = EC_KEY_get0_group(pR);
|
group = EC_KEY_get0_group(pR);
|
||||||
bnctx = BN_CTX_new();
|
bnctx = BN_CTX_new();
|
||||||
sum = BN_new();
|
sum = BN_new();
|
||||||
mx = BN_new();
|
mx = BN_new();
|
||||||
q = BN_new();
|
q = BN_new();
|
||||||
m = EC_POINT_new(group);
|
m = EC_POINT_new(group);
|
||||||
if (!cR || !pR || !bnctx || !sum || !mx || !q || !m)
|
if (!cR || !bnctx || !sum || !mx || !q || !m)
|
||||||
goto fail;
|
goto fail;
|
||||||
cR_bn = EC_KEY_get0_private_key(cR);
|
cR_bn = EC_KEY_get0_private_key(cR);
|
||||||
pR_bn = EC_KEY_get0_private_key(pR);
|
pR_bn = EC_KEY_get0_private_key(pR);
|
||||||
|
Loading…
Reference in New Issue
Block a user