Enc-Then-MAC: when message size is less than digest size return error

This commit is contained in:
Sean Parkinson
2019-09-17 11:23:43 +10:00
parent 9d69f17f17
commit 2c2907c2a5

View File

@@ -13581,6 +13581,10 @@ static WC_INLINE int VerifyMacEnc(WOLFSSL* ssl, const byte* input, word32 msgSz,
WOLFSSL_MSG("Verify MAC of Encrypted Data"); WOLFSSL_MSG("Verify MAC of Encrypted Data");
if (msgSz < digestSz) {
return VERIFY_MAC_ERROR;
}
ret = ssl->hmac(ssl, verify, input, msgSz - digestSz, -1, content, 1); ret = ssl->hmac(ssl, verify, input, msgSz - digestSz, -1, content, 1);
ret |= ConstantCompare(verify, input + msgSz - digestSz, digestSz); ret |= ConstantCompare(verify, input + msgSz - digestSz, digestSz);
if (ret != 0) { if (ret != 0) {