# |
CVE ID
|
CWE ID
|
# of Exploits
|
Vulnerability Type(s)
|
Publish Date
|
Update Date
|
Score
|
Gained Access Level
|
Access
|
Complexity
|
Authentication
|
Conf.
|
Integ.
|
Avail.
|
1 |
CVE-2022-28327 |
|
|
|
2022-04-20 |
2022-08-04 |
5.0 |
None |
Remote |
Low |
Not required |
None |
None |
Partial |
The generic P-256 feature in crypto/elliptic in Go before 1.17.9 and 1.18.x before 1.18.1 allows a panic via long scalar input. |
2 |
CVE-2022-24921 |
400 |
|
|
2022-03-05 |
2022-08-04 |
5.0 |
None |
Remote |
Low |
Not required |
None |
None |
Partial |
regexp.Compile in Go before 1.16.15 and 1.17.x before 1.17.8 allows stack exhaustion via a deeply nested expression. |
3 |
CVE-2022-24675 |
770 |
|
Overflow |
2022-04-20 |
2022-08-04 |
5.0 |
None |
Remote |
Low |
Not required |
None |
None |
Partial |
encoding/pem in Go before 1.17.9 and 1.18.x before 1.18.1 has a Decode stack overflow via a large amount of PEM data. |
4 |
CVE-2022-23806 |
252 |
|
|
2022-02-11 |
2022-08-04 |
6.4 |
None |
Remote |
Low |
Not required |
None |
Partial |
Partial |
Curve.IsOnCurve in crypto/elliptic in Go before 1.16.14 and 1.17.x before 1.17.7 can incorrectly return true in situations with a big.Int value that is not a valid field element. |
5 |
CVE-2022-23773 |
863 |
|
|
2022-02-11 |
2022-08-04 |
5.0 |
None |
Remote |
Low |
Not required |
None |
Partial |
None |
cmd/go in Go before 1.16.14 and 1.17.x before 1.17.7 can misinterpret branch names that falsely appear to be version tags. This can lead to incorrect access control if an actor is supposed to be able to create branches but not tags. |
6 |
CVE-2022-23772 |
190 |
|
Overflow |
2022-02-11 |
2022-08-04 |
7.8 |
None |
Remote |
Low |
Not required |
None |
None |
Complete |
Rat.SetString in math/big in Go before 1.16.14 and 1.17.x before 1.17.7 has an overflow that can lead to Uncontrolled Memory Consumption. |
7 |
CVE-2021-44716 |
400 |
|
|
2022-01-01 |
2022-08-04 |
5.0 |
None |
Remote |
Low |
Not required |
None |
None |
Partial |
net/http in Go before 1.16.12 and 1.17.x before 1.17.5 allows uncontrolled memory consumption in the header canonicalization cache via HTTP/2 requests. |
8 |
CVE-2021-41772 |
20 |
|
|
2021-11-08 |
2022-08-04 |
5.0 |
None |
Remote |
Low |
Not required |
None |
None |
Partial |
Go before 1.16.10 and 1.17.x before 1.17.3 allows an archive/zip Reader.Open panic via a crafted ZIP archive containing an invalid name or an empty filename field. |
9 |
CVE-2021-41771 |
119 |
|
Overflow |
2021-11-08 |
2022-08-04 |
5.0 |
None |
Remote |
Low |
Not required |
None |
None |
Partial |
ImportedSymbols in debug/macho (for Open or OpenFat) in Go before 1.16.10 and 1.17.x before 1.17.3 Accesses a Memory Location After the End of a Buffer, aka an out-of-bounds slice situation. |
10 |
CVE-2021-39293 |
770 |
|
|
2022-01-24 |
2022-06-14 |
5.0 |
None |
Remote |
Low |
Not required |
None |
None |
Partial |
In archive/zip in Go before 1.16.8 and 1.17.x before 1.17.1, a crafted archive header (falsely designating that many files are present) can cause a NewReader or OpenReader panic. NOTE: this issue exists because of an incomplete fix for CVE-2021-33196. |
11 |
CVE-2021-38297 |
120 |
|
Overflow |
2021-10-18 |
2022-08-04 |
7.5 |
None |
Remote |
Low |
Not required |
Partial |
Partial |
Partial |
Go before 1.16.9 and 1.17.x before 1.17.2 has a Buffer Overflow via large arguments in a function invocation from a WASM module, when GOARCH=wasm GOOS=js is used. |
12 |
CVE-2021-36221 |
362 |
|
|
2021-08-08 |
2022-08-04 |
4.3 |
None |
Remote |
Medium |
Not required |
None |
None |
Partial |
Go before 1.15.15 and 1.16.x before 1.16.7 has a race condition that can lead to a net/http/httputil ReverseProxy panic upon an ErrAbortHandler abort. |
13 |
CVE-2021-34558 |
295 |
|
|
2021-07-15 |
2022-08-04 |
2.6 |
None |
Remote |
High |
Not required |
None |
None |
Partial |
The crypto/tls package of Go through 1.16.5 does not properly assert that the type of public key in an X.509 certificate matches the expected type when doing a RSA based key exchange, allowing a malicious TLS server to cause a TLS client to panic. |
14 |
CVE-2021-33198 |
|
|
|
2021-08-02 |
2022-08-04 |
5.0 |
None |
Remote |
Low |
Not required |
None |
None |
Partial |
In Go before 1.15.13 and 1.16.x before 1.16.5, there can be a panic for a large exponent to the math/big.Rat SetString or UnmarshalText method. |
15 |
CVE-2021-33197 |
862 |
|
|
2021-08-02 |
2022-08-04 |
4.3 |
None |
Remote |
Medium |
Not required |
None |
Partial |
None |
In Go before 1.15.13 and 1.16.x before 1.16.5, some configurations of ReverseProxy (from net/http/httputil) result in a situation where an attacker is able to drop arbitrary headers. |
16 |
CVE-2021-33196 |
20 |
|
|
2021-08-02 |
2022-08-04 |
5.0 |
None |
Remote |
Low |
Not required |
None |
None |
Partial |
In archive/zip in Go before 1.15.13 and 1.16.x before 1.16.5, a crafted file count (in an archive's header) can cause a NewReader or OpenReader panic. |
17 |
CVE-2021-33195 |
74 |
|
XSS |
2021-08-02 |
2022-08-04 |
7.5 |
None |
Remote |
Low |
Not required |
Partial |
Partial |
Partial |
Go before 1.15.13 and 1.16.x before 1.16.5 has functions for DNS lookups that do not validate replies from DNS servers, and thus a return value may contain an unsafe injection (e.g., XSS) that does not conform to the RFC1035 format. |
18 |
CVE-2021-33194 |
835 |
|
DoS |
2021-05-26 |
2022-06-03 |
5.0 |
None |
Remote |
Low |
Not required |
None |
None |
Partial |
golang.org/x/net before v0.0.0-20210520170846-37e1c6afe023 allows attackers to cause a denial of service (infinite loop) via crafted ParseFragment input. |
19 |
CVE-2021-31525 |
674 |
|
DoS |
2021-05-27 |
2022-08-04 |
2.6 |
None |
Remote |
High |
Not required |
None |
None |
Partial |
net/http in Go before 1.15.12 and 1.16.x before 1.16.4 allows remote attackers to cause a denial of service (panic) via a large header to ReadRequest or ReadResponse. Server, Transport, and Client can each be affected in some configurations. |
20 |
CVE-2021-29923 |
|
|
Bypass |
2021-08-07 |
2022-08-04 |
5.0 |
None |
Remote |
Low |
Not required |
None |
Partial |
None |
Go before 1.17 does not properly consider extraneous zero characters at the beginning of an IP address octet, which (in some situations) allows attackers to bypass access control that is based on IP addresses, because of unexpected octal interpretation. This affects net.ParseIP and net.ParseCIDR. |
21 |
CVE-2021-27919 |
|
|
DoS |
2021-03-11 |
2022-08-04 |
4.3 |
None |
Remote |
Medium |
Not required |
None |
None |
Partial |
archive/zip in Go 1.16.x before 1.16.1 allows attackers to cause a denial of service (panic) upon attempted use of the Reader.Open API for a ZIP archive in which ../ occurs at the beginning of any filename. |
22 |
CVE-2021-27918 |
835 |
|
|
2021-03-11 |
2022-08-04 |
5.0 |
None |
Remote |
Low |
Not required |
None |
None |
Partial |
encoding/xml in Go before 1.15.9 and 1.16.x before 1.16.1 has an infinite loop if a custom TokenReader (for xml.NewTokenDecoder) returns EOF in the middle of an element. This can occur in the Decode, DecodeElement, or Skip method. |
23 |
CVE-2021-3114 |
682 |
|
|
2021-01-26 |
2022-08-04 |
6.4 |
None |
Remote |
Low |
Not required |
Partial |
Partial |
None |
In Go before 1.14.14 and 1.15.x before 1.15.7, crypto/elliptic/p224.go can generate incorrect outputs, related to an underflow of the lowest limb during the final complete reduction in the P-224 field. |
24 |
CVE-2020-29652 |
476 |
|
DoS |
2020-12-17 |
2022-04-01 |
5.0 |
None |
Remote |
Low |
Not required |
None |
None |
Partial |
A nil pointer dereference in the golang.org/x/crypto/ssh component through v0.0.0-20201203163018-be400aefbc4c for Go allows remote attackers to cause a denial of service against SSH servers. |
25 |
CVE-2020-29511 |
|
|
|
2020-12-14 |
2021-01-30 |
6.8 |
None |
Remote |
Medium |
Not required |
Partial |
Partial |
Partial |
The encoding/xml package in Go (all versions) does not correctly preserve the semantics of element namespace prefixes during tokenization round-trips, which allows an attacker to craft inputs that behave in conflicting ways during different stages of processing in affected downstream applications. |
26 |
CVE-2020-29510 |
|
|
|
2020-12-14 |
2021-01-30 |
6.8 |
None |
Remote |
Medium |
Not required |
Partial |
Partial |
Partial |
The encoding/xml package in Go versions 1.15 and earlier does not correctly preserve the semantics of directives during tokenization round-trips, which allows an attacker to craft inputs that behave in conflicting ways during different stages of processing in affected downstream applications. |
27 |
CVE-2020-29509 |
|
|
|
2020-12-14 |
2021-01-30 |
6.8 |
None |
Remote |
Medium |
Not required |
Partial |
Partial |
Partial |
The encoding/xml package in Go (all versions) does not correctly preserve the semantics of attribute namespace prefixes during tokenization round-trips, which allows an attacker to craft inputs that behave in conflicting ways during different stages of processing in affected downstream applications. |
28 |
CVE-2020-28367 |
88 |
|
Exec Code |
2020-11-18 |
2022-08-10 |
5.1 |
None |
Remote |
High |
Not required |
Partial |
Partial |
Partial |
Code injection in the go command with cgo before Go 1.14.12 and Go 1.15.5 allows arbitrary code execution at build time via malicious gcc flags specified via a #cgo directive. |
29 |
CVE-2020-28366 |
94 |
|
|
2020-11-18 |
2022-08-06 |
5.1 |
None |
Remote |
High |
Not required |
Partial |
Partial |
Partial |
Go before 1.14.12 and 1.15.x before 1.15.5 allows Code Injection. |
30 |
CVE-2020-28362 |
295 |
|
DoS |
2020-11-18 |
2021-11-30 |
5.0 |
None |
Remote |
Low |
Not required |
None |
None |
Partial |
Go before 1.14.12 and 1.15.x before 1.15.4 allows Denial of Service. |
31 |
CVE-2020-24553 |
79 |
|
XSS |
2020-09-02 |
2021-09-16 |
4.3 |
None |
Remote |
Medium |
Not required |
None |
Partial |
None |
Go before 1.14.8 and 1.15.x before 1.15.1 allows XSS because text/html is the default for CGI/FCGI handlers that lack a Content-Type header. |
32 |
CVE-2020-16845 |
835 |
|
|
2020-08-06 |
2021-06-14 |
5.0 |
None |
Remote |
Low |
Not required |
None |
None |
Partial |
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. |
33 |
CVE-2020-15586 |
362 |
|
|
2020-07-17 |
2021-06-14 |
4.3 |
None |
Remote |
Medium |
Not required |
None |
None |
Partial |
Go before 1.13.13 and 1.14.x before 1.14.5 has a data race in some net/http servers, as demonstrated by the httputil.ReverseProxy Handler, because it reads a request body and writes a response at the same time. |
34 |
CVE-2020-14039 |
295 |
|
|
2020-07-17 |
2021-06-14 |
5.0 |
None |
Remote |
Low |
Not required |
None |
Partial |
None |
In Go before 1.13.13 and 1.14.x before 1.14.5, Certificate.Verify may lack a check on the VerifyOptions.KeyUsages EKU requirements (if VerifyOptions.Roots equals nil and the installation is on Windows). Thus, X.509 certificate verification is incomplete. |
35 |
CVE-2020-7919 |
295 |
|
|
2020-03-16 |
2021-06-14 |
7.8 |
None |
Remote |
Low |
Not required |
None |
None |
Complete |
Go before 1.12.16 and 1.13.x before 1.13.7 (and the crypto/cryptobyte package before 0.0.0-20200124225646-8b5121be2f68 for Go) allows attacks on clients (resulting in a panic) via a malformed X.509 certificate. |
36 |
CVE-2019-17596 |
436 |
|
|
2019-10-24 |
2021-11-30 |
5.0 |
None |
Remote |
Low |
Not required |
None |
None |
Partial |
Go before 1.12.11 and 1.3.x before 1.13.2 can panic upon an attempt to process network traffic containing an invalid DSA public key. There are several attack scenarios, such as traffic from a client to a server that verifies client certificates. |
37 |
CVE-2019-16276 |
444 |
|
|
2019-09-30 |
2021-03-22 |
5.0 |
None |
Remote |
Low |
Not required |
None |
Partial |
None |
Go before 1.12.10 and 1.13.x before 1.13.1 allow HTTP Request Smuggling. |
38 |
CVE-2019-14809 |
|
|
Bypass |
2019-08-13 |
2020-08-24 |
7.5 |
None |
Remote |
Low |
Not required |
Partial |
Partial |
Partial |
net/url in Go before 1.11.13 and 1.12.x before 1.12.8 mishandles malformed hosts in URLs, leading to an authorization bypass in some applications. This is related to a Host field with a suffix appearing in neither Hostname() nor Port(), and is related to a non-numeric port number. For example, an attacker can compose a crafted javascript:// URL that results in a hostname of google.com. |
39 |
CVE-2019-6486 |
770 |
|
DoS |
2019-01-24 |
2020-08-24 |
6.4 |
None |
Remote |
Low |
Not required |
Partial |
None |
Partial |
Go before 1.10.8 and 1.11.x before 1.11.5 mishandles P-521 and P-384 elliptic curves, which allows attackers to cause a denial of service (CPU consumption) or possibly conduct ECDH private key recovery attacks. |
40 |
CVE-2018-16875 |
295 |
|
DoS |
2018-12-14 |
2019-06-03 |
7.8 |
None |
Remote |
Low |
Not required |
None |
None |
Complete |
The crypto/x509 package of Go before 1.10.6 and 1.11.x before 1.11.3 does not limit the amount of work performed for each chain verification, which might allow attackers to craft pathological inputs leading to a CPU denial of service. Go TLS servers accepting client certificates and TLS clients are affected. |
41 |
CVE-2018-16874 |
20 |
|
Exec Code Dir. Trav. |
2018-12-14 |
2021-03-22 |
6.8 |
None |
Remote |
Medium |
Not required |
Partial |
Partial |
Partial |
In Go before 1.10.6 and 1.11.x before 1.11.3, the "go get" command is vulnerable to directory traversal when executed with the import path of a malicious Go package which contains curly braces (both '{' and '}' characters). Specifically, it is only vulnerable in GOPATH mode, but not in module mode (the distinction is documented at https://golang.org/cmd/go/#hdr-Module_aware_go_get). The attacker can cause an arbitrary filesystem write, which can lead to code execution. |
42 |
CVE-2018-16873 |
20 |
|
Exec Code |
2018-12-14 |
2021-03-25 |
6.8 |
None |
Remote |
Medium |
Not required |
Partial |
Partial |
Partial |
In Go before 1.10.6 and 1.11.x before 1.11.3, the "go get" command is vulnerable to remote code execution when executed with the -u flag and the import path of a malicious Go package, or a package that imports it directly or indirectly. Specifically, it is only vulnerable in GOPATH mode, but not in module mode (the distinction is documented at https://golang.org/cmd/go/#hdr-Module_aware_go_get). Using custom domains, it's possible to arrange things so that a Git repository is cloned to a folder named ".git" by using a vanity import path that ends with "/.git". If the Git repository root contains a "HEAD" file, a "config" file, an "objects" directory, a "refs" directory, with some work to ensure the proper ordering of operations, "go get -u" can be tricked into considering the parent directory as a repository root, and running Git commands on it. That will use the "config" file in the original Git repository root for its configuration, and if that config file contains malicious commands, they will execute on the system running "go get -u". |
43 |
CVE-2018-7187 |
78 |
|
Exec Code |
2018-02-16 |
2019-02-28 |
9.3 |
None |
Remote |
Medium |
Not required |
Complete |
Complete |
Complete |
The "go get" implementation in Go 1.9.4, when the -insecure command-line option is used, does not validate the import path (get/vcs.go only checks for "://" anywhere in the string), which allows remote attackers to execute arbitrary OS commands via a crafted web site. |
44 |
CVE-2018-6574 |
94 |
|
Exec Code |
2018-02-07 |
2019-10-03 |
4.6 |
None |
Local |
Low |
Not required |
Partial |
Partial |
Partial |
Go before 1.8.7, Go 1.9.x before 1.9.4, and Go 1.10 pre-releases before Go 1.10rc2 allow "go get" remote command execution during source code build, by leveraging the gcc or clang plugin feature, because -fplugin= and -plugin= arguments were not blocked. |
45 |
CVE-2017-15042 |
319 |
|
|
2017-10-05 |
2019-10-03 |
4.3 |
None |
Remote |
Medium |
Not required |
Partial |
None |
None |
An unintended cleartext issue exists in Go before 1.8.4 and 1.9.x before 1.9.1. RFC 4954 requires that, during SMTP, the PLAIN auth scheme must only be used on network connections secured with TLS. The original implementation of smtp.PlainAuth in Go 1.0 enforced this requirement, and it was documented to do so. In 2013, upstream issue #5184, this was changed so that the server may decide whether PLAIN is acceptable. The result is that if you set up a man-in-the-middle SMTP server that doesn't advertise STARTTLS and does advertise that PLAIN auth is OK, the smtp.PlainAuth implementation sends the username and password. |
46 |
CVE-2017-15041 |
|
|
Exec Code |
2017-10-05 |
2021-03-19 |
7.5 |
None |
Remote |
Low |
Not required |
Partial |
Partial |
Partial |
Go before 1.8.4 and 1.9.x before 1.9.1 allows "go get" remote command execution. Using custom domains, it is possible to arrange things so that example.com/pkg1 points to a Subversion repository but example.com/pkg1/pkg2 points to a Git repository. If the Subversion repository includes a Git checkout in its pkg2 directory and some other work is done to ensure the proper ordering of operations, "go get" can be tricked into reusing this Git checkout for the fetch of code from pkg2. If the Subversion repository's Git checkout has malicious commands in .git/hooks/, they will execute on the system running "go get." |
47 |
CVE-2017-8932 |
682 |
|
|
2017-07-06 |
2019-10-03 |
4.3 |
None |
Remote |
Medium |
Not required |
Partial |
None |
None |
A bug in the standard library ScalarMult implementation of curve P-256 for amd64 architectures in Go before 1.7.6 and 1.8.x before 1.8.2 causes incorrect results to be generated for specific input points. An adaptive attack can be mounted to progressively extract the scalar input to ScalarMult by submitting crafted points and observing failures to the derive correct output. This leads to a full key recovery attack against static ECDH, as used in popular JWT libraries. |
48 |
CVE-2016-5386 |
284 |
|
|
2016-07-19 |
2019-12-27 |
6.8 |
None |
Remote |
Medium |
Not required |
Partial |
Partial |
Partial |
The net/http package in Go through 1.6 does not attempt to address RFC 3875 section 4.1.18 namespace conflicts and therefore does not protect CGI applications from the presence of untrusted client data in the HTTP_PROXY environment variable, which might allow remote attackers to redirect a CGI application's outbound HTTP traffic to an arbitrary proxy server via a crafted Proxy header in an HTTP request, aka an "httpoxy" issue. |
49 |
CVE-2016-3959 |
20 |
|
DoS |
2016-05-23 |
2018-10-30 |
5.0 |
None |
Remote |
Low |
Not required |
None |
None |
Partial |
The Verify function in crypto/dsa/dsa.go in Go before 1.5.4 and 1.6.x before 1.6.1 does not properly check parameters passed to the big integer library, which might allow remote attackers to cause a denial of service (infinite loop) via a crafted public key to a program that uses HTTPS client certificates or SSH server libraries. |
50 |
CVE-2016-3958 |
264 |
|
+Priv |
2016-05-23 |
2018-08-13 |
7.2 |
None |
Local |
Low |
Not required |
Complete |
Complete |
Complete |
Untrusted search path vulnerability in Go before 1.5.4 and 1.6.x before 1.6.1 on Windows allows local users to gain privileges via a Trojan horse DLL in the current working directory, related to use of the LoadLibrary function. |