Golang Go vulnerabilities
142 known vulnerabilities affecting golang/go.
Total CVEs
142
CISA KEV
2
actively exploited
Public exploits
2
Exploited in wild
2
Severity breakdown
CRITICAL17HIGH84MEDIUM39LOW2
Vulnerabilities
Page 7 of 8
CVE-2019-14809CRITICALCVSS 9.8fixed in 1.11.13≥ 1.12.0, < 1.12.82019-08-13
CVE-2019-14809 [CRITICAL] CVE-2019-14809: net/url in Go before 1.11.13 and 1.12.x before 1.12.8 mishandles malformed hosts in URLs, leading to
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 resul
nvd
CVE-2019-11888CRITICALCVSS 9.8≤ 1.12.52019-05-13
CVE-2019-11888 [CRITICAL] CWE-269 CVE-2019-11888: Go through 1.12.5 on Windows mishandles process creation with a nil environment in conjunction with
Go through 1.12.5 on Windows mishandles process creation with a nil environment in conjunction with a non-nil token, which allows attackers to obtain sensitive information or gain privileges.
nvd
CVE-2019-9741MEDIUMCVSS 6.1v1.11.52019-03-13
CVE-2019-9741 [MEDIUM] CWE-93 CVE-2019-9741: An issue was discovered in net/http in Go 1.11.5. CRLF injection is possible if the attacker control
An issue was discovered in net/http in Go 1.11.5. CRLF injection is possible if the attacker controls a url parameter, as demonstrated by the second argument to http.NewRequest with \r\n followed by an HTTP header or a Redis command.
nvd
CVE-2019-9634HIGHCVSS 7.8fixed in 1.11.10≥ 1.12, < 1.12.22019-03-08
CVE-2019-9634 [HIGH] CWE-427 CVE-2019-9634: Go through 1.12 on Windows misuses certain LoadLibrary functionality, leading to DLL injection.
Go through 1.12 on Windows misuses certain LoadLibrary functionality, leading to DLL injection.
nvd
CVE-2019-6486HIGHCVSS 8.2fixed in 1.10.8≥ 1.11.1, < 1.11.52019-01-24
CVE-2019-6486 [HIGH] CWE-770 CVE-2019-6486: Go before 1.10.8 and 1.11.x before 1.11.5 mishandles P-521 and P-384 elliptic curves, which allows a
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.
nvd
CVE-2018-16875HIGHCVSS 7.5fixed in 1.10.6≥ 1.11.0, < 1.11.32018-12-14
CVE-2018-16875 [HIGH] CWE-20 CVE-2018-16875: The crypto/x509 package of Go before 1.10.6 and 1.11.x before 1.11.3 does not limit the amount of wo
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.
nvd
CVE-2018-16874HIGHCVSS 8.1fixed in 1.10.6≥ 1.11.0, < 1.11.32018-12-14
CVE-2018-16874 [HIGH] CWE-20 CVE-2018-16874: In Go before 1.10.6 and 1.11.x before 1.11.3, the "go get" command is vulnerable to directory traver
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/cm
nvd
CVE-2018-16873HIGHCVSS 8.1fixed in 1.10.6≥ 1.11.0, < 1.11.32018-12-14
CVE-2018-16873 [HIGH] CWE-20 CVE-2018-16873: In Go before 1.10.6 and 1.11.x before 1.11.3, the "go get" command is vulnerable to remote code exec
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://
nvd
CVE-2018-7187HIGHCVSS 8.8fixed in 1.9.5≥ 1.10, < 1.10.12018-02-16
CVE-2018-7187 [HIGH] CWE-78 CVE-2018-7187: The "go get" implementation in Go 1.9.4, when the -insecure command-line option is used, does not va
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.
nvd
CVE-2018-6574HIGHCVSS 7.8≤ 1.8.6v1.9+4 more2018-02-07
CVE-2018-6574 [HIGH] CWE-94 CVE-2018-6574: 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" re
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.
nvd
CVE-2015-5739CRITICALCVSS 9.8≤ 1.4.22017-10-18
CVE-2015-5739 [CRITICAL] CWE-444 CVE-2015-5739: The net/http library in net/textproto/reader.go in Go before 1.4.3 does not properly parse HTTP head
The net/http library in net/textproto/reader.go in Go before 1.4.3 does not properly parse HTTP header keys, which allows remote attackers to conduct HTTP request smuggling attacks via a space instead of a hyphen, as demonstrated by "Content Length" instead of "Content-Length."
nvd
CVE-2015-5740CRITICALCVSS 9.8≤ 1.4.22017-10-18
CVE-2015-5740 [CRITICAL] CWE-444 CVE-2015-5740: The net/http library in net/http/transfer.go in Go before 1.4.3 does not properly parse HTTP headers
The net/http library in net/http/transfer.go in Go before 1.4.3 does not properly parse HTTP headers, which allows remote attackers to conduct HTTP request smuggling attacks via a request with two Content-length headers.
nvd
CVE-2017-15041CRITICALCVSS 9.8≤ 1.8.3v1.92017-10-05
CVE-2017-15041 [CRITICAL] CVE-2017-15041: Go before 1.8.4 and 1.9.x before 1.9.1 allows "go get" remote command execution. Using custom domain
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 en
nvd
CVE-2017-1000097HIGHCVSS 7.5fixed in 1.6.4≥ 1.7, < 1.7.42017-10-05
CVE-2017-1000097 [HIGH] CWE-295 CVE-2017-1000097: On Darwin, user's trust preferences for root certificates were not honored. If the user had a root c
On Darwin, user's trust preferences for root certificates were not honored. If the user had a root certificate loaded in their Keychain that was explicitly not trusted, a Go program would still verify a connection using that root certificate.
nvd
CVE-2017-1000098HIGHCVSS 7.5fixed in 1.6.4≥ 1.7, < 1.7.42017-10-05
CVE-2017-1000098 [HIGH] CWE-769 CVE-2017-1000098: The net/http package's Request.ParseMultipartForm method starts writing to temporary files once the
The net/http package's Request.ParseMultipartForm method starts writing to temporary files once the request body size surpasses the given "maxMemory" limit. It was possible for an attacker to generate a multipart request crafted such that the server ran out of file descriptors.
nvd
CVE-2017-15042MEDIUMCVSS 5.9≤ 1.8.3v1.92017-10-05
CVE-2017-15042 [MEDIUM] CWE-319 CVE-2017-15042: An unintended cleartext issue exists in Go before 1.8.4 and 1.9.x before 1.9.1. RFC 4954 requires th
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 wa
nvd
CVE-2017-8932MEDIUMCVSS 5.9≤ 1.7.5v1.8+1 more2017-07-06
CVE-2017-8932 [MEDIUM] CWE-682 CVE-2017-8932: A bug in the standard library ScalarMult implementation of curve P-256 for amd64 architectures in Go
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
nvd
CVE-2016-5386HIGHCVSS 8.1≥ 1.0, < 1.6.3v1.72016-07-19
CVE-2016-5386 [HIGH] CWE-284 CVE-2016-5386: The net/http package in Go through 1.6 does not attempt to address RFC 3875 section 4.1.18 namespace
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 se
nvd
CVE-2016-3958HIGHCVSS 7.8≥ 1.5, < 1.5.4≥ 1.6, < 1.6.1+1 more2016-05-23
CVE-2016-3958 [HIGH] CWE-264 CVE-2016-3958: Untrusted search path vulnerability in Go before 1.5.4 and 1.6.x before 1.6.1 on Windows allows loca
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.
nvd
CVE-2016-3959HIGHCVSS 7.5v1.6≤ 1.52016-05-23
CVE-2016-3959 [HIGH] CWE-20 CVE-2016-3959: 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
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.
nvd