This commit fixes #2502 in the 3.2 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:53:50 -07:00 committed by GitHub
parent c2a322419c
commit c72f4061b4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -14455,7 +14455,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