From aca9f4e484b529aeb15bf6f9633a5f07d9bab940 Mon Sep 17 00:00:00 2001 From: Filippo Valsorda Date: Wed, 21 May 2025 22:41:54 +0200 Subject: [PATCH] crypto/tls: signature_algorithms in CertificateRequest can't be empty Change-Id: I6a6a4656ab97e1f247df35b2589cd73461b4ac76 Reviewed-on: https://go-review.googlesource.com/c/go/+/675917 Auto-Submit: Filippo Valsorda Reviewed-by: David Chase Reviewed-by: Dmitri Shuralyov Reviewed-by: Daniel McCarney LUCI-TryBot-Result: Go LUCI --- src/crypto/tls/handshake_messages.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/crypto/tls/handshake_messages.go b/src/crypto/tls/handshake_messages.go index ad3e5fa352..d9a475aab1 100644 --- a/src/crypto/tls/handshake_messages.go +++ b/src/crypto/tls/handshake_messages.go @@ -1790,7 +1790,7 @@ func (m *certificateRequestMsg) unmarshal(data []byte) bool { } sigAndHashLen := uint16(data[0])<<8 | uint16(data[1]) data = data[2:] - if sigAndHashLen&1 != 0 { + if sigAndHashLen&1 != 0 || sigAndHashLen == 0 { return false } if len(data) < int(sigAndHashLen) { -- 2.50.0