Skip to content

Commit afe82b9

Browse files
committed
Fix PKCS#7 degenerate detection based on signerInfos length
1 parent d6dcd30 commit afe82b9

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

wolfcrypt/src/pkcs7.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6419,6 +6419,17 @@ static int PKCS7_VerifySignedData(wc_PKCS7* pkcs7, const byte* hashBuf,
64196419
NO_USER_CHECK) < 0)
64206420
ret = ASN_PARSE_E;
64216421

6422+
/* Update degenerate flag based on if signerInfos SET is empty.
6423+
* The earlier degenerate check at digestAlgorithms is an early
6424+
* optimization, but depending on degenerate case may not be
6425+
* detected until here. */
6426+
if (ret == 0) {
6427+
degenerate = (length == 0) ? 1 : 0;
6428+
#ifndef NO_PKCS7_STREAM
6429+
pkcs7->stream->degenerate = (degenerate != 0);
6430+
#endif
6431+
}
6432+
64226433
if (ret != 0)
64236434
break;
64246435
#ifndef NO_PKCS7_STREAM

0 commit comments

Comments
 (0)