From 04c7dcb86b12e4f4322fe0bfdd55519f410ed36b Mon Sep 17 00:00:00 2001 From: jackctj117 Date: Thu, 19 Mar 2026 15:19:44 -0600 Subject: [PATCH 1/2] Fix metadata label leak in WH_KEY_EXPORT error response --- src/wh_server_keystore.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wh_server_keystore.c b/src/wh_server_keystore.c index 8b2a378a..015a8074 100644 --- a/src/wh_server_keystore.c +++ b/src/wh_server_keystore.c @@ -1872,8 +1872,8 @@ int wh_Server_HandleKeyRequest(whServerContext* server, uint16_t magic, /* Only provide key output if no error */ if (ret == WH_ERROR_OK) { resp.len = keySz; + memcpy(resp.label, meta->label, sizeof(meta->label)); } - memcpy(resp.label, meta->label, sizeof(meta->label)); (void)WH_SERVER_NVM_UNLOCK(server); } /* WH_SERVER_NVM_LOCK() */ From 70d63c2f6945b87e232e3b786146e87dbcc9bf70 Mon Sep 17 00:00:00 2001 From: jackctj117 Date: Thu, 19 Mar 2026 15:42:58 -0600 Subject: [PATCH 2/2] Zero-init ExportDmaResponse to prevent stack data leak on error path --- src/wh_server_keystore.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wh_server_keystore.c b/src/wh_server_keystore.c index 015a8074..e3724474 100644 --- a/src/wh_server_keystore.c +++ b/src/wh_server_keystore.c @@ -1848,7 +1848,7 @@ int wh_Server_HandleKeyRequest(whServerContext* server, uint16_t magic, case WH_KEY_EXPORT: { whMessageKeystore_ExportRequest req; - whMessageKeystore_ExportResponse resp; + whMessageKeystore_ExportResponse resp = {0}; uint32_t keySz; /* translate request */