Skip to content

Commit 3167bca

Browse files
committed
Add handshake mode switch check in FINISH and PSK_FINISH.
Reference: DMTF-2023-0001 Fix: #2005 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
1 parent e0f4e94 commit 3167bca

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

library/spdm_responder_lib/libspdm_rsp_finish.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,11 @@ libspdm_return_t libspdm_get_response_finish(void *context, size_t request_size,
396396
SPDM_ERROR_CODE_SESSION_REQUIRED, 0,
397397
response_size, response);
398398
}
399+
if (session_info->use_psk) {
400+
return libspdm_generate_error_response(spdm_context,
401+
SPDM_ERROR_CODE_UNEXPECTED_REQUEST, 0,
402+
response_size, response);
403+
}
399404
session_state = libspdm_secured_message_get_session_state(
400405
session_info->secured_message_context);
401406
if (session_state != LIBSPDM_SESSION_STATE_HANDSHAKING) {

library/spdm_responder_lib/libspdm_rsp_psk_finish.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,11 @@ libspdm_return_t libspdm_get_response_psk_finish(void *context,
123123
SPDM_ERROR_CODE_SESSION_REQUIRED, 0,
124124
response_size, response);
125125
}
126+
if (!session_info->use_psk) {
127+
return libspdm_generate_error_response(spdm_context,
128+
SPDM_ERROR_CODE_UNEXPECTED_REQUEST, 0,
129+
response_size, response);
130+
}
126131
session_state = libspdm_secured_message_get_session_state(
127132
session_info->secured_message_context);
128133
if (session_state != LIBSPDM_SESSION_STATE_HANDSHAKING) {

0 commit comments

Comments
 (0)