Skip to content

Commit 9790719

Browse files
committed
Zeroize sniffer watch key buffer before free
F-2143 ssl_SetWatchKey_file loaded a private key file into a heap buffer and freed it without ForceZero on both error and success paths. Zeroize before XFREE.
1 parent 4c8adc5 commit 9790719

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

src/sniffer.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7242,12 +7242,16 @@ int ssl_SetWatchKey_file(void* vSniffer, const char* keyFile, int keyType,
72427242
ret = LoadKeyFile(&keyBuf, &keyBufSz, keyFile, 0, keyType, password);
72437243
if (ret < 0) {
72447244
SetError(KEY_FILE_STR, error, NULL, 0);
7245+
if (keyBuf != NULL) {
7246+
ForceZero(keyBuf, keyBufSz);
7247+
}
72457248
XFREE(keyBuf, NULL, DYNAMIC_TYPE_X509);
72467249
return WOLFSSL_FATAL_ERROR;
72477250
}
72487251

72497252
ret = ssl_SetWatchKey_buffer(vSniffer, keyBuf, keyBufSz, FILETYPE_DER,
72507253
error);
7254+
ForceZero(keyBuf, keyBufSz);
72517255
XFREE(keyBuf, NULL, DYNAMIC_TYPE_X509);
72527256

72537257
return ret;

0 commit comments

Comments
 (0)