Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update: go #1387

Closed
dongsupark opened this issue Mar 6, 2024 · 4 comments · Fixed by flatcar/scripts#2152
Closed

update: go #1387

dongsupark opened this issue Mar 6, 2024 · 4 comments · Fixed by flatcar/scripts#2152
Assignees
Labels
advisory security advisory cvss/CRITICAL >= 9 assessed CVSS security security concerns

Comments

@dongsupark
Copy link
Member

dongsupark commented Mar 6, 2024

Name: go
CVEs: CVE-2023-45288, CVE-2023-45289, CVE-2023-45290, CVE-2024-24783, CVE-2024-24784, CVE-2024-24785, CVE-2024-24788, CVE-2024-24789, CVE-2024-24790,CVE-2024-24791
CVSSs: n/a, n/a, n/a, n/a, n/a, n/a, 5.5, 9.8, n/a
Action Needed: update to >= 1.21.12 or >= 1.22.5 (blocked by #1382)

Summary:

  • CVE-2023-45288: http2: close connections when receiving too many headers. Maintaining HPACK state requires that we parse and process all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, we don't allocate memory to store the excess headers but we do parse them. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. Set a limit on the amount of excess header frames we will process before closing a connection.
  • CVE-2023-45289: When following an HTTP redirect to a domain which is not a subdomain match or exact match of the initial domain, an http.Client does not forward sensitive headers such as "Authorization" or "Cookie". For example, a redirect from foo.com to www.foo.com will forward the Authorization header, but a redirect to bar.com will not. A maliciously crafted HTTP redirect could cause sensitive headers to be unexpectedly forwarded.
  • CVE-2023-45290: When parsing a multipart form (either explicitly with Request.ParseMultipartForm or implicitly with Request.FormValue, Request.PostFormValue, or Request.FormFile), limits on the total size of the parsed form were not applied to the memory consumed while reading a single form line. This permits a maliciously crafted input containing very long lines to cause allocation of arbitrarily large amounts of memory, potentially leading to memory exhaustion. With fix, the ParseMultipartForm function now correctly limits the maximum size of form lines.
  • CVE-2024-24783: Verifying a certificate chain which contains a certificate with an unknown public key algorithm will cause Certificate.Verify to panic. This affects all crypto/tls clients, and servers that set Config.ClientAuth to VerifyClientCertIfGiven or RequireAndVerifyClientCert. The default behavior is for TLS servers to not verify client certificates.
  • CVE-2024-24784: The ParseAddressList function incorrectly handles comments (text within parentheses) within display names. Since this is a misalignment with conforming address parsers, it can result in different trust decisions being made by programs using different parsers.
  • CVE-2024-24785: If errors returned from MarshalJSON methods contain user controlled data, they may be used to break the contextual auto-escaping behavior of the html/template package, allowing for subsequent actions to inject unexpected content into templates.

See also https://groups.google.com/g/golang-announce/c/YgW0sx8mN3M for CVE-2023-45288, https://groups.google.com/g/golang-announce/c/5pwGVUPoMbg for others.

  • CVE-2024-24788: A malformed DNS message in response to a query can cause the Lookup functions to get stuck in an infinite loop.
  • CVE-2024-24789: The archive/zip package's handling of certain types of invalid zip files differs from the behavior of most zip implementations. This misalignment could be exploited to create an zip file with contents that vary depending on the implementation reading the file. The archive/zip package now rejects files containing these errors.
  • CVE-2024-24790: The various Is methods (IsPrivate, IsLoopback, etc) did not work as expected for IPv4-mapped IPv6 addresses, returning false for addresses which would return true in their traditional IPv4 forms.
  • CVE-2024-24791: The net/http HTTP/1.1 client mishandled the case where a server responds to a request with an "Expect: 100-continue" header with a non-informational (200 or higher) status. This mishandling could leave a client connection in an invalid state, where the next request sent on the connection will fail. An attacker sending a request to a net/http/httputil.ReverseProxy proxy can exploit this mishandling to cause a denial of service by sending "Expect: 100-continue" requests which elicit a non-informational response from the backend. Each such request leaves the proxy with an invalid connection, and causes one subsequent request using that connection to fail.

refmap.gentoo:

@dongsupark
Copy link
Member Author

Added CVE-2023-45288.

@sayanchowdhury
Copy link
Member

Added CVE-2024-24788.

@dongsupark
Copy link
Member Author

Added CVE-2024-24789, CVE-2024-24790.
CVE-2024-24790 has a critical severity, 9.8.

@dongsupark dongsupark added the cvss/CRITICAL >= 9 assessed CVSS label Jul 1, 2024
@dongsupark
Copy link
Member Author

Added CVE-2024-24791.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
advisory security advisory cvss/CRITICAL >= 9 assessed CVSS security security concerns
Projects
Development

Successfully merging a pull request may close this issue.

3 participants