This is definitely a security issue
subverting the GNUTLS_ALLOW_ID_CHANGE protection,
but its real-life exploitability is under question.
Reported-by: Joshua Rogers of AISLE Research Team <joshua@joshua.hu>
Fixes: #1808
Signed-off-by: Joshua Rogers <joshua@joshua.hu>
if (session->internals.saved_username &&
session->internals.saved_username_size != -1) {
- if (session->internals.saved_username_size ==
- username_length &&
- strncmp(session->internals.saved_username, username,
- username_length)) {
+ if (session->internals.saved_username_size !=
+ username_length ||
+ memcmp(session->internals.saved_username, username,
+ username_length)) {
_gnutls_debug_log(
"Session's PSK username changed during rehandshake; aborting!\n");
return gnutls_assert_val(