Skip to content

Commit 5b6b138

Browse files
Add sz check to ChachaAEADDecrypt to prevent potential underflow.
Thanks to Zou Dikai for the report.
1 parent 14dbba7 commit 5b6b138

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

src/internal.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20000,10 +20000,15 @@ int ChachaAEADDecrypt(WOLFSSL* ssl, byte* plain, const byte* input,
2000020000
byte tag[POLY1305_AUTH_SZ];
2000120001
byte poly[CHACHA20_256_KEY_SIZE]; /* generated key for mac */
2000220002
int ret = 0;
20003-
int msgLen = (sz - ssl->specs.aead_mac_size);
20003+
int msgLen = 0;
2000420004
Keys* keys = &ssl->keys;
2000520005
byte* seq = NULL;
2000620006

20007+
if (sz < ssl->specs.aead_mac_size) {
20008+
return BAD_FUNC_ARG;
20009+
}
20010+
msgLen = (sz - ssl->specs.aead_mac_size);
20011+
2000720012
#ifdef CHACHA_AEAD_TEST
2000820013
int i;
2000920014
printf("input before decrypt :\n");

0 commit comments

Comments
 (0)