Skip to content
OpenAdvisories

Package · Alpine

go

191 known vulnerabilities.

73 results · Clear filters · Feed

  • High 7.5

    HTTP/2 server crash due to HPACK encoder race in net/http

    HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part …

  • High 7.5

    HTTP/1 server connection desynchronization after 2xx CONNECT response in net/http

    When an HTTP server handler sends a 2xx response to an HTTP/1 CONNECT request and returns without hijacking the connection, the server improperly continues to read and serve requests from the connection. Since a 2xx response to an HTTP/1 CONNECT converts the …

  • High 7.5

    Lack of limit on size of parsed Range headers in net/http

    When parsing a Range header containing a large number of small ranges, FileServer(FS), ServeContent, and ServeFile(FS) can consume an excessive amount of CPU.

  • High 7.5

    HTTP/2 transport accepts malformed framing-related headers in net/http

    Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such header…

  • High 7.5

    Excessive CPU consumption from repeated initial window changes in net/http

    A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values.

  • High 7.5

    Memory limit bypass when parsing MIME headers in net/textproto, mime/multipart

    Parsing a multipart form can bypass memory limits and read an arbitrarily long line into memory when the remaining limit at the start of a part is less than 400 bytes.

  • High 7.5

    Reject malformed ECH outer extension references in crypto/tls

    Multiple ECH outer extension references are not permitted under RFC 9849; previously, a client could send a well-crafted packet that could trigger memory exhaustion in the server process by specifying multiple references. We now reject these as malformed and …

  • High 7.5

    HTTP/1 client connection desynchronization after CONNECT rejection in net/http

    When http.Transport sends an HTTP/1 CONNECT request with a non-empty Request.Body, it writes the body directly to the connection without framing after the request headers. If the server rejects the CONNECT request with a non-2xx keep-alive response, Transport…

  • High 7.5

    HTTP/2 server memory exhaustion due to Trailer headers in net/http

    When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicio…

  • High 7.8

    Checksum bypass for golang.org/fips140 in cmd/go

    Previously, a user operating inside of a malicious Go project that defines a bogus golang.org/fips140 and operates a malicious GOMODPROXY the user chooses to connect to can serve an arbitrary module in its place. We now unpack the trusted ziphash for the bund…

  • High 7.8

    Checksum database bypass for golang.org/toolchain in cmd/go

    Previously, a user operating inside of a malicious Go project that defines a bogus golang.org/toolchain go.sum entry and operates a malicious GOMODPROXY the user chooses to use can bypass the intended checksum. We now ensure that golang.org/toolchain always g…

  • High 8.4

    Fix transparency log tile verification bypass in golang.org/x/mod/sumdb/tlog

    A malicious GOPROXY was previously capable of forging up to two sumdb tiles that allow for a requested module to bypass the GOSUMDB check and persist attacker-controlled module content to a local Go module cache. This attack allows for a malicious GOPROXY to …

  • High 7.5

    Ignore unrelated, unauthenticated hashes in Lookup in golang.org/x/mod/sumdb

    A malicious GOSUMDB was capable of serving arbitrary module content not contained within the transparency log. This attack allows for a coordinating GOPROXY and GOSUMDB to serve a client malicious module content that cannot be detected by evaluating the trans…

  • High 7.5

    Apply ReadHeaderTimeout when doing unencrypted HTTP/2 check in net/http

    When a server is configured to support unencrypted HTTP/2, it reads a few bytes from each new connection to see if they contain the HTTP/2 client preface. ReadHeaderTimeout is unexpectedly not being applied when doing this.

  • High 7.5

    Limit handshake messages we are willing to accept post-handshake in crypto/tls

    Handshake messages, such as KeyUpdate, are always considered as state-advancing, regardless of whether a handshake has been completed or not. As a result, a malicious client can keep sending KeyUpdate messages to force the server to keep performing key deriva…

  • High 7.5

    Add recursion depth guard during decode in encoding/xml

    Previously, DecodeElement would reset the depth counter causing it to never fire; this could lead to stack exhaustion.

  • High 7.5

    Enforce maximum recursion depth in encoding/asn1

    Enforce a recursion limit in Unmarshal to prevent stack exhaustion when parsing deeply-nested, recursive structures.

  • High 7.5

    Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage

    Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer.

  • High 7.8

    Root escape via symlink plus trailing slash in os

    On Unix systems, opening a file in an os.Root improperly follows symlinks to locations outside of the Root when the final path component of the a path is a symbolic link and the path ends in /. For example, 'root.Open("symlink/")' will open "symlink" even whe…

  • High 7.5

    Quadratic complexity in WordDecoder.DecodeHeader in mime

    Decoding a maliciously-crafted MIME header containing many invalid encoded-words can consume excessive CPU.

  • High 7.5

    Crash when handling long CNAME response in net

    When using LookupCNAME with the cgo DNS resolver, a very long CNAME response can trigger a double-free of C memory and a crash.

  • High 7.5

    Quadratic string concatentation in consumeComment in net/mail

    Well-crafted inputs reaching ParseAddress, ParseAddressList, and ParseDate were able to trigger excessive CPU exhaustion and memory allocations.

  • High 7.5

    Malicious module proxy can bypass checksum database in cmd/go

    A malicious module proxy can exploit a flaw in the go command's validation of module checksums to bypass checksum database validation. This vulnerability affects any user using an untrusted module proxy (GOMODPROXY) or checksum database (GOSUMDB). A malicious…

  • High 7.5

    Panic in Dial and LookupPort when handling NUL byte on Windows in net

    The Dial and LookupPort functions panic on Windows when provided with an input containing a NUL (0).

  • High 7.5

    Quadratic string concatenation in consumePhrase in net/mail

    Pathological inputs could cause DoS through consumePhrase when parsing an email address according to RFC 5322.

  • High 7.5

    Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net

    When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0.

  • High 7.5

    Inefficient policy validation in crypto/x509

    Validating certificate chains which use policies is unexpectedly inefficient when certificates in the chain contain a very large number of policy mappings, possibly causing denial of service. This only affects validation of otherwise trusted certificate chain…

  • High 7.5

    Unexpected work during chain building in crypto/x509

    During chain building, the amount of work that is done is not correctly limited when a large number of intermediate certificates are passed in VerifyOptions.Intermediates, which can lead to a denial of service. This affects both direct users of crypto/x509 an…

  • High 7.5

    Unauthenticated TLS 1.3 KeyUpdate record can cause persistent connection retention and DoS in crypto/tls

    If one side of the TLS connection sends multiple key update messages post-handshake in a single record, the connection can deadlock, causing uncontrolled consumption of resources. This can lead to a denial of service. This only affects TLS 1.3.

  • High 8.8

    Code execution vulnerability in SWIG code generation in cmd/go

    SWIG file names containing 'cgo' and well-crafted payloads could lead to code smuggling and arbitrary code execution at build time due to trust layer bypass.

  • High 7.5

    Case-sensitive excludedSubtrees name constraints cause Auth Bypass in crypto/x509

    When verifying a certificate chain containing excluded DNS constraints, these constraints are not correctly applied to wildcard DNS SANs which use a different case than the constraint. This only affects validation of otherwise trusted certificate chains, issu…

  • High 7.1

    Miscompilation allows memory corruption via CONVNOP-wrapped array copy in cmd/compile

    The compiler is meant to unwrap pointers which are the operands of a memory move; a no-op interface conversion prevented the compiler from making the correct determination about non-overlapping moves, potentially leading to memory corruption at runtime.

  • High 7.5

    Incorrect parsing of IPv6 host literals in net/url

    url.Parse insufficiently validated the host/authority component and accepted some invalid URLs.

  • High 7.5

    Incorrect enforcement of email constraints in crypto/x509

    When verifying a certificate chain which contains a certificate containing multiple email address constraints which share common local portions but different domain portions, these constraints will not be properly applied, and only the last constraint will be…

  • High 8.6

    Potential code smuggling via doc comments in cmd/cgo

    A discrepancy between how Go and C/C++ comments were parsed allowed for code smuggling into the resulting cgo binary.

  • High 7.5

    Memory exhaustion in query parameter parsing in net/url

    The net/url package does not set a limit on the number of query parameters in a query. While the maximum size of query parameters in URLs is generally limited by the maximum request header size, the net/http.Request.ParseForm method can parse large URL-encode…

  • High 7.8

    Arbitrary file write using cgo pkg-config directive in cmd/go

    Building a malicious file with cmd/go can cause can cause a write to an attacker-controlled file with partial control of the file content. The "#cgo pkg-config:" directive in a Go source file provides command-line arguments to provide to the Go pkg-config com…

  • High 7.0

    Unexpected code execution when invoking toolchain in cmd/go

    Downloading and building modules with malicious version strings can cause local code execution. On systems with Mercurial (hg) installed, downloading modules from non-standard sources (e.g., custom domains) can cause unexpected code execution due to how exter…

  • High 7.5

    Excessive resource consumption when printing error string for host certificate validation in crypto/x509

    Within HostnameError.Error(), when constructing an error string, there is no limit to the number of hosts that will be printed out. Furthermore, the error string is constructed by repeated string concatenation, leading to quadratic runtime. Therefore, a certi…

  • High 7.5

    Panic when validating certificates with DSA public keys in crypto/x509

    Validating certificate chains which contain DSA public keys can cause programs to panic, due to a interface cast that assumes they implement the Equal method. This affects programs which validate arbitrary certificate chains.