Vulnerabilities (CVE)

Filtered by vendor Golang Subscribe
Total 219 CVE
CVE Vendors Products Updated CVSS v2 CVSS v3
CVE-2018-16873 4 Debian, Golang, Opensuse and 1 more 5 Debian Linux, Go, Backports Sle and 2 more 2026-06-17 6.8 MEDIUM 8.1 HIGH
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".
CVE-2017-8932 4 Fedoraproject, Golang, Novell and 1 more 4 Fedora, Go, Suse Package Hub For Suse Linux Enterprise and 1 more 2026-06-17 4.3 MEDIUM 5.9 MEDIUM
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.
CVE-2017-3204 1 Golang 1 Crypto 2026-06-17 6.8 MEDIUM 8.1 HIGH
The Go SSH library (x/crypto/ssh) by default does not verify host keys, facilitating man-in-the-middle attacks. Default behavior changed in commit e4e2799 to require explicitly registering a hostkey verification mechanism.
CVE-2017-15042 1 Golang 1 Go 2026-06-17 4.3 MEDIUM 5.9 MEDIUM
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.
CVE-2017-15041 3 Debian, Golang, Redhat 7 Debian Linux, Go, Developer Tools and 4 more 2026-06-17 7.5 HIGH 9.8 CRITICAL
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."
CVE-2017-1000098 1 Golang 1 Go 2026-06-17 5.0 MEDIUM 7.5 HIGH
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.
CVE-2017-1000097 1 Golang 1 Go 2026-06-17 5.0 MEDIUM 7.5 HIGH
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.
CVE-2016-5386 4 Fedoraproject, Golang, Oracle and 1 more 6 Fedora, Go, Linux and 3 more 2026-06-17 6.8 MEDIUM 8.1 HIGH
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.
CVE-2016-3959 3 Fedoraproject, Golang, Opensuse 3 Fedora, Go, Leap 2026-06-17 5.0 MEDIUM 7.5 HIGH
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.
CVE-2016-3958 1 Golang 1 Go 2026-06-17 7.2 HIGH 7.8 HIGH
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.
CVE-2015-8618 2 Golang, Opensuse 2 Go, Leap 2026-06-17 5.0 MEDIUM 7.5 HIGH
The Int.Exp Montgomery code in the math/big library in Go 1.5.x before 1.5.3 mishandles carry propagation and produces incorrect output, which makes it easier for attackers to obtain private RSA keys via unspecified vectors.
CVE-2015-5741 2 Golang, Redhat 3 Go, Enterprise Linux, Openstack 2026-06-17 7.5 HIGH 9.8 CRITICAL
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 that contains Content-Length and Transfer-Encoding header fields.
CVE-2015-5740 3 Fedoraproject, Golang, Redhat 6 Fedora, Go, Enterprise Linux Server and 3 more 2026-06-17 7.5 HIGH 9.8 CRITICAL
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.
CVE-2015-5739 3 Fedoraproject, Golang, Redhat 6 Fedora, Go, Enterprise Linux Server and 3 more 2026-06-17 7.5 HIGH 9.8 CRITICAL
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."
CVE-2014-7189 1 Golang 1 Go 2026-06-17 4.3 MEDIUM N/A
crpyto/tls in Go 1.1 before 1.3.2, when SessionTicketsDisabled is enabled, allows man-in-the-middle attackers to spoof clients via unspecified vectors.
CVE-2012-2666 1 Golang 1 Go 2026-06-16 7.5 HIGH 9.8 CRITICAL
golang/go in 1.0.2 fixes all.bash on shared machines. dotest() in src/pkg/debug/gosym/pclntab_test.go creates a temporary file with predicable name and executes it as shell script.
CVE-2026-39828 1 Golang 1 Crypto 2026-06-02 N/A 6.3 MEDIUM
When an SSH server authentication callback returned PartialSuccessError with non-nil Permissions, those permissions were silently discarded, potentially dropping certificate restrictions such as force-command after a second factor succeeded. Returning non-nil Permissions with PartialSuccessError now results in a connection error.
CVE-2026-39829 1 Golang 1 Crypto 2026-06-02 N/A 7.5 HIGH
The RSA and DSA public key parsers did not enforce size limits on key parameters. A crafted public key with an excessively large modulus or DSA parameter could cause several minutes of CPU consumption during signature verification. This could be triggered by unauthenticated clients during public key authentication. RSA moduli are now limited to 8192 bits, and DSA parameters are validated per FIPS 186-2.
CVE-2026-39830 1 Golang 1 Crypto 2026-06-02 N/A 9.1 CRITICAL
A malicious SSH peer could send unsolicited global request responses to fill an internal buffer, blocking the connection's read loop. The blocked goroutine could not be released by calling Close(), resulting in a resource leak per connection. Unsolicited global responses are now discarded.
CVE-2026-39831 1 Golang 1 Crypto 2026-06-02 N/A 9.1 CRITICAL
The Verify() method for FIDO/U2F security key types (sk-ecdsa-sha2-nistp256@openssh.com, sk-ssh-ed25519@openssh.com) did not check the User Presence flag. Signatures generated without physical touch were accepted, allowing unattended use of a hardware security key. To restore the previous behavior, return a "no-touch-required" extension in Permissions.Extensions from PublicKeyCallback.