Fix: add length check for ssr auth_aes128_sha1 (#2129)

This commit is contained in:
gVisor bot 2022-05-13 11:21:39 +08:00
parent 228bc57933
commit b5e17b6cd5

View file

@ -154,6 +154,9 @@ func (a *authAES128) Encode(buf *bytes.Buffer, b []byte) error {
} }
func (a *authAES128) DecodePacket(b []byte) ([]byte, error) { func (a *authAES128) DecodePacket(b []byte) ([]byte, error) {
if len(b) < 4 {
return nil, errAuthAES128LengthError
}
if !bytes.Equal(a.hmac(a.Key, b[:len(b)-4])[:4], b[len(b)-4:]) { if !bytes.Equal(a.hmac(a.Key, b[:len(b)-4])[:4], b[len(b)-4:]) {
return nil, errAuthAES128ChksumError return nil, errAuthAES128ChksumError
} }