Fix #2502 in 3.0 branch

This commit fixes drwetter#2502 in the 3.0 branch by checking that the key_share extension is at least 4 bytes long (8 in ASCII-HEX). These 4 bytes encode the group value (2 bytes) and the length of the key (2 bytes).
This commit is contained in:
David Cooper 2024-06-13 05:56:21 -07:00 committed by GitHub
parent 212bdbb78e
commit acdbdcf552
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -12367,7 +12367,7 @@ parse_tls_serverhello() {
tls_extensions+=" (id=51), len=$extension_len\n"
fi
if [[ "$process_full" =~ all ]] || [[ "$process_full" == ephemeralkey ]]; then
if [[ $extension_len -lt 4 ]]; then
if [[ $extension_len -lt 8 ]]; then
debugme tmln_warning "Malformed key share extension."
[[ $DEBUG -ge 1 ]] && tmpfile_handle ${FUNCNAME[0]}.txt
return 1