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

[20.10 backport] update to golang 1.18.5 #43976

Merged
merged 8 commits into from Aug 18, 2022

Commits on Aug 18, 2022

  1. staticcheck: ignore "SA1019: strings.Title is deprecated"

    This function is marked deprecated in Go 1.18; however, the suggested replacement
    brings in a large amount of new code, and most strings we generate will be ASCII,
    so this would only be in case it's used for some user-provided string. We also
    don't have a language to use, so would be using the "default".
    
    Adding a `//nolint` comment to suppress the linting failure instead.
    
        daemon/logger/templates/templates.go:23:14: SA1019: strings.Title is deprecated: The rule Title uses for word boundaries does not handle Unicode punctuation properly. Use golang.org/x/text/cases instead. (staticcheck)
            "title":    strings.Title,
                        ^
        pkg/plugins/pluginrpc-gen/template.go:67:9: SA1019: strings.Title is deprecated: The rule Title uses for word boundaries does not handle Unicode punctuation properly. Use golang.org/x/text/cases instead. (staticcheck)
            return strings.Title(s)
                   ^
    
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    (cherry picked from commit 4203a97)
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    thaJeztah committed Aug 18, 2022
    Configuration menu
    Copy the full SHA
    bb95d09 View commit details
    Browse the repository at this point in the history
  2. update golang to 1.18.0

    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    (cherry picked from commit 590e34e)
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    thaJeztah committed Aug 18, 2022
    Configuration menu
    Copy the full SHA
    0bc4322 View commit details
    Browse the repository at this point in the history
  3. [20.10] vendor: update archive/tar for go 1.18

    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    thaJeztah committed Aug 18, 2022
    Configuration menu
    Copy the full SHA
    7ba67d0 View commit details
    Browse the repository at this point in the history
  4. update golang to 1.18.1

    go1.18.1 (released 2022-04-12) includes security fixes to the crypto/elliptic,
    crypto/x509, and encoding/pem packages, as well as bug fixes to the compiler,
    linker, runtime, the go command, vet, and the bytes, crypto/x509, and go/types
    packages. See the Go 1.18.1 milestone on the issue tracker for details:
    
    https://github.com/golang/go/issues?q=milestone%3AGo1.18.1+label%3ACherryPickApproved
    
    Includes fixes for:
    
    - CVE-2022-24675 (https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-24675)
    - CVE-2022-27536 (https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-27536)
    - CVE-2022-28327 (https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-28327)
    
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    (cherry picked from commit ef64db5)
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    thaJeztah committed Aug 18, 2022
    Configuration menu
    Copy the full SHA
    ecd1aa0 View commit details
    Browse the repository at this point in the history
  5. update golang to 1.18.2

    go1.18.2 (released 2022-05-10) includes security fixes to the syscall package,
    as well as bug fixes to the compiler, runtime, the go command, and the crypto/x509,
    go/types, net/http/httptest, reflect, and sync/atomic packages. See the Go 1.18.2
    milestone on the issue tracker for details:
    
    https://github.com/golang/go/issues?q=milestone%3AGo1.18.2+label%3ACherryPickApproved
    
    Full diff: http://github.com/golang/go/compare/go1.18.1...go1.18.2
    
    Includes fixes for:
    
    - CVE-2022-29526 (http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29526);
      (description at https://go.dev/issue/52313).
    
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    (cherry picked from commit d294078)
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    thaJeztah committed Aug 18, 2022
    Configuration menu
    Copy the full SHA
    82939f5 View commit details
    Browse the repository at this point in the history
  6. update golang to 1.18.3

    go1.18.3 (released 2022-06-01) includes security fixes to the crypto/rand,
    crypto/tls, os/exec, and path/filepath packages, as well as bug fixes to the
    compiler, and the crypto/tls and text/template/parse packages. See the Go
    1.18.3 milestone on our issue tracker for details:
    
    https://github.com/golang/go/issues?q=milestone%3AGo1.18.3+label%3ACherryPickApproved
    
    Hello gophers,
    
    We have just released Go versions 1.18.3 and 1.17.11, minor point releases.
    
    These minor releases include 4 security fixes following the security policy:
    
    - crypto/rand: rand.Read hangs with extremely large buffers
      On Windows, rand.Read will hang indefinitely if passed a buffer larger than
      1 << 32 - 1 bytes.
    
      Thanks to Davis Goodin and Quim Muntal, working at Microsoft on the Go toolset,
      for reporting this issue.
    
      This is [CVE-2022-30634][CVE-2022-30634] and Go issue https://go.dev/issue/52561.
    - crypto/tls: session tickets lack random ticket_age_add
      Session tickets generated by crypto/tls did not contain a randomly generated
      ticket_age_add. This allows an attacker that can observe TLS handshakes to
      correlate successive connections by comparing ticket ages during session
      resumption.
    
      Thanks to GitHub user nervuri for reporting this.
    
      This is [CVE-2022-30629][CVE-2022-30629] and Go issue https://go.dev/issue/52814.
    - `os/exec`: empty `Cmd.Path` can result in running unintended binary on Windows
    
      If, on Windows, `Cmd.Run`, `cmd.Start`, `cmd.Output`, or `cmd.CombinedOutput`
      are executed when Cmd.Path is unset and, in the working directory, there are
      binaries named either "..com" or "..exe", they will be executed.
    
      Thanks to Chris Darroch, brian m. carlson, and Mikhail Shcherbakov for reporting
      this.
    
      This is [CVE-2022-30580][CVE-2022-30580] and Go issue https://go.dev/issue/52574.
    - `path/filepath`: Clean(`.\c:`) returns `c:` on Windows
    
      On Windows, the `filepath.Clean` function could convert an invalid path to a
      valid, absolute path. For example, Clean(`.\c:`) returned `c:`.
    
      Thanks to Unrud for reporting this issue.
    
      This is [CVE-2022-29804][CVE-2022-29804] and Go issue https://go.dev/issue/52476.
    
    [CVE-2022-30634]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-30634
    [CVE-2022-30629]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-30629
    [CVE-2022-30580]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-30580
    [CVE-2022-29804]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29804
    
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    (cherry picked from commit c1a9ffc)
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    thaJeztah committed Aug 18, 2022
    Configuration menu
    Copy the full SHA
    a99c9cd View commit details
    Browse the repository at this point in the history
  7. update golang to 1.18.4

    go1.18.4 (released 2022-07-12) includes security fixes to the compress/gzip,
    encoding/gob, encoding/xml, go/parser, io/fs, net/http, and path/filepath
    packages, as well as bug fixes to the compiler, the go command, the linker,
    the runtime, and the runtime/metrics package. See the Go 1.18.4 milestone on the
    issue tracker for details:
    
    https://github.com/golang/go/issues?q=milestone%3AGo1.18.4+label%3ACherryPickApproved
    
    This update addresses:
    
    CVE-2022-1705, CVE-2022-1962, CVE-2022-28131, CVE-2022-30630, CVE-2022-30631,
    CVE-2022-30632, CVE-2022-30633, CVE-2022-30635, and CVE-2022-32148.
    
    Full diff: golang/go@go1.18.3...go1.18.4
    
    From the security announcement;
    https://groups.google.com/g/golang-announce/c/nqrv9fbR0zE
    
    We have just released Go versions 1.18.4 and 1.17.12, minor point releases. These
    minor releases include 9 security fixes following the security policy:
    
    - net/http: improper sanitization of Transfer-Encoding header
    
      The HTTP/1 client accepted some invalid Transfer-Encoding headers as indicating
      a "chunked" encoding. This could potentially allow for request smuggling, but
      only if combined with an intermediate server that also improperly failed to
      reject the header as invalid.
    
      This is CVE-2022-1705 and https://go.dev/issue/53188.
    
    - When `httputil.ReverseProxy.ServeHTTP` was called with a `Request.Header` map
      containing a nil value for the X-Forwarded-For header, ReverseProxy would set
      the client IP as the value of the X-Forwarded-For header, contrary to its
      documentation. In the more usual case where a Director function set the
      X-Forwarded-For header value to nil, ReverseProxy would leave the header
      unmodified as expected.
    
      This is https://go.dev/issue/53423 and CVE-2022-32148.
    
      Thanks to Christian Mehlmauer for reporting this issue.
    
    - compress/gzip: stack exhaustion in Reader.Read
    
      Calling Reader.Read on an archive containing a large number of concatenated
      0-length compressed files can cause a panic due to stack exhaustion.
    
      This is CVE-2022-30631 and Go issue https://go.dev/issue/53168.
    
    - encoding/xml: stack exhaustion in Unmarshal
    
      Calling Unmarshal on a XML document into a Go struct which has a nested field
      that uses the any field tag can cause a panic due to stack exhaustion.
    
      This is CVE-2022-30633 and Go issue https://go.dev/issue/53611.
    
    - encoding/xml: stack exhaustion in Decoder.Skip
    
      Calling Decoder.Skip when parsing a deeply nested XML document can cause a
      panic due to stack exhaustion. The Go Security team discovered this issue, and
      it was independently reported by Juho Nurminen of Mattermost.
    
      This is CVE-2022-28131 and Go issue https://go.dev/issue/53614.
    
    - encoding/gob: stack exhaustion in Decoder.Decode
    
      Calling Decoder.Decode on a message which contains deeply nested structures
      can cause a panic due to stack exhaustion.
    
      This is CVE-2022-30635 and Go issue https://go.dev/issue/53615.
    
    - path/filepath: stack exhaustion in Glob
    
      Calling Glob on a path which contains a large number of path separators can
      cause a panic due to stack exhaustion.
    
      Thanks to Juho Nurminen of Mattermost for reporting this issue.
    
      This is CVE-2022-30632 and Go issue https://go.dev/issue/53416.
    
    - io/fs: stack exhaustion in Glob
    
      Calling Glob on a path which contains a large number of path separators can
      cause a panic due to stack exhaustion.
    
      This is CVE-2022-30630 and Go issue https://go.dev/issue/53415.
    
    - go/parser: stack exhaustion in all Parse* functions
    
      Calling any of the Parse functions on Go source code which contains deeply
      nested types or declarations can cause a panic due to stack exhaustion.
    
      Thanks to Juho Nurminen of Mattermost for reporting this issue.
    
      This is CVE-2022-1962 and Go issue https://go.dev/issue/53616.
    
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    (cherry picked from commit 34b8670)
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    thaJeztah committed Aug 18, 2022
    Configuration menu
    Copy the full SHA
    f2a3c3b View commit details
    Browse the repository at this point in the history
  8. Update golang to 1.18.5

    Update Go runtime to 1.18.5 to address CVE-2022-32189.
    
    Full diff: golang/go@go1.18.4...go1.18.5
    
    --------------------------------------------------------
    
    From the security announcement:
    https://groups.google.com/g/golang-announce/c/YqYYG87xB10
    
    We have just released Go versions 1.18.5 and 1.17.13, minor point
    releases.
    
    These minor releases include 1 security fixes following the security
    policy:
    
    encoding/gob & math/big: decoding big.Float and big.Rat can panic
    
    Decoding big.Float and big.Rat types can panic if the encoded message is
    too short.
    
    This is CVE-2022-32189 and Go issue https://go.dev/issue/53871.
    
    View the release notes for more information:
    https://go.dev/doc/devel/release#go1.18.5
    
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    (cherry picked from commit f1d71f7)
    Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
    thaJeztah committed Aug 18, 2022
    Configuration menu
    Copy the full SHA
    7ba8ca0 View commit details
    Browse the repository at this point in the history