From 293755917efe97f6dcc2b047ad9ce41297f821df Mon Sep 17 00:00:00 2001 From: Jacob Barthelmeh Date: Fri, 30 Jul 2021 22:11:45 +0700 Subject: [PATCH] sanity check on pkcs7 stream amount read --- wolfcrypt/src/pkcs7.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/wolfcrypt/src/pkcs7.c b/wolfcrypt/src/pkcs7.c index 7358edf44..9816d6093 100644 --- a/wolfcrypt/src/pkcs7.c +++ b/wolfcrypt/src/pkcs7.c @@ -8357,6 +8357,11 @@ static int wc_PKCS7_DecryptKtri(PKCS7* pkcs7, byte* in, word32 inSz, /* @TODO getting total amount left because of GetInt call later on * this could be optimized to stream better */ + if (pkcs7->stream->totalRd > pkcs7->stream->maxLen) { + WOLFSSL_MSG("PKCS7 read more than expected"); + ret = BUFFER_E; + break; + } pkcs7->stream->expected = (pkcs7->stream->maxLen - pkcs7->stream->totalRd) + pkcs7->stream->length; #endif