Hi gophers,

We have just released Go 1.14.7 and Go 1.13.15 to address a recently
reported security issue. We recommend that all users update to one of these
releases (if you’re not sure which, choose Go 1.14.7).

   - encoding/binary: ReadUvarint and ReadVarint can read an unlimited
   number of bytes from invalid inputs

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.

Thanks to Diederik Loerakker, Jonny Rhea, Raúl Kripalani, and Preston Van
Loon for reporting this issue.

This issue is CVE-2020-16845 and Go issue golang.org/issue/40618.


The upcoming Go 1.15rc2 release will also include the fix above.

Downloads are available at https://golang.org/dl for all supported
platforms.

Thank you,
Katie and Filippo on behalf of the Go team

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CALvTBvdg%3DL0AFR7EiPtGP-%3DSbS-6PzeGNVzw3oPYJc8qhix1ig%40mail.gmail.com.

Reply via email to