Lucene search

K
osvGoogleOSV:GO-2021-0225
HistoryJan 13, 2022 - 3:44 a.m.

GO-2021-0225

2022-01-1303:44:52
Google
osv.dev
17
invalid inputs
readuvarint
readvarint
bytereader
network
processing
maxvarintlen64
errors
update

EPSS

0.042

Percentile

92.4%

Certain invalid inputs to ReadUvarint or ReadVarint could cause those
functions to read an unlimited number of bytes from the ByteReader argument
before returning an error. This could lead to processing more input than
expected when the caller is reading directly from a network and depends on
ReadUvarint and ReadVarint only consuming a small, bounded number of bytes,
even from invalid inputs.

With the update, ReadUvarint and ReadVarint now always return after consuming
a bounded number of bytes (specifically, MaxVarintLen64, which is 10). The
result being returned has not changed; the functions merely detect and return
some errors without reading as much input.