CVE-2020-16845: High severity IBM Security Guardium Insights vulnerability
A flaw was found in the Go encoding/binary package. Certain invalid inputs to the ReadUvarint or the ReadVarint causes those functions to read an unlimited number of bytes from the ByteReader argument before returning an error. This flaw possibly leads to processing more input than expected. The highest threat from this vulnerability is to system availability.
Other sources
Go before 1.13.15 and 14.x before 1.14.7 can have an infinite read loop in ReadUvarint and ReadVarint in encoding/binary via invalid inputs.
Go Language is vulnerable to a denial of service, caused by an infinite read loop in ReadUvarint and ReadVarint in encoding/binary. By sending a specially-crafted input, a remote attacker could exploit this vulnerability to cause a denial of service condition.
— IBM
Affected Software
Remediation
Event History
Parent advisories
This vulnerability appears in the following advisories.
- RHSA-2021:1515
- RHSA-2021:0072
- RHSA-2020:5649
- RHSA-2020:4214
- RHSA-2020:3665
- RHBA-2020:5123
- RHBA-2020:4229
- RHSA-2020:5118
- RHSA-2020:5119
- RHSA-2021:0713
- RHSA-2021:1016
- RHBA-2020:5356
- RHBA-2020:4197
- RHSA-2020:4297
- RHSA-2020:5159
- RHSA-2021:0172
- RHSA-2021:0956
- RHSA-2021:2122
- RHSA-2021:1366
- RHSA-2020:5605
- RHSA-2020:5606
- RHSA-2021:0799
- RHSA-2020:4201
- RHSA-2021:4103
- IBM-6403463
Frequently Asked Questions
What is the severity of CVE-2020-16845?
The severity of CVE-2020-16845 is classified as high due to its potential to cause a denial of service.
How do I fix CVE-2020-16845?
To fix CVE-2020-16845, update the Go language to versions 1.13.15, 1.14.7, or later.
What products are affected by CVE-2020-16845?
CVE-2020-16845 affects multiple Go versions prior to 1.13.15 and 14.x prior to 1.14.7.
Can CVE-2020-16845 be exploited remotely?
Yes, CVE-2020-16845 can be exploited remotely by sending specially-crafted input.
What type of vulnerability is CVE-2020-16845?
CVE-2020-16845 is a denial of service vulnerability caused by an infinite read loop in Go's encoding/binary package.