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 dependencies #628

Merged
merged 4 commits into from Jun 22, 2021
Merged

Update dependencies #628

merged 4 commits into from Jun 22, 2021

Conversation

imjasonh
Copy link
Member

@imjasonh imjasonh commented Jun 9, 2021

Picks up buildpacks/imgutil#124, upgrades the docker/docker dep to v20.10.7, drops pinned x/sys dep

Signed-off-by: Jason Hall jasonhall@redhat.com

cc @natalieparellano

@imjasonh imjasonh requested a review from a team as a code owner June 9, 2021 21:25
@imjasonh imjasonh force-pushed the deps branch 2 times, most recently from d441294 to 41fa753 Compare June 10, 2021 15:48
@imjasonh
Copy link
Member Author

Also switched to using module-aware go install to fetch version-pinned tooling dependencies, instead of requiring the import+go.mod hack in tools/tools.go.

I'm not sure if this means tools/go.mod can be dropped entirely, if so I can make that change in this PR as well.

tools/go.mod Outdated
@@ -4,17 +4,13 @@ go 1.15

require (
github.com/BurntSushi/toml v0.3.1
github.com/buildpacks/imgutil v0.0.0-20210513150455-55e42b288ec8
github.com/buildpacks/imgutil v0.0.0-20210609210403-3145c7480cde
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we get rid of tools/* completely now that you've upgrade the Makefile?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are still useful tools in there (tools/image/main.go, etc.), but I don't see any reason it has to be a separate Go module anymore. I've pushed another commit that removes tools/go.* and reruns go mod download to get all of tools/'s deps in /go.mod.

@jabrown85
Copy link
Contributor

Thanks for this! It looks great.

I've approved the CI run. Looks like you need to DCO the latest commit @imjasonh.

@jabrown85
Copy link
Contributor

@imjasonh just re-reviewing as CI immediately failed. We need to update to go 1.16 to get this behavior (CI included)

@imjasonh
Copy link
Member Author

@imjasonh just re-reviewing as CI immediately failed. We need to update to go 1.16 to get this behavior (CI included)

Thanks, I've updated to 1.16 everywhere I could find, let me know if you know of more.

@jabrown85
Copy link
Contributor

Linting is failing now - see here

I guess the upgraded linter means new rules and some deprecation of linters entirely

@imjasonh
Copy link
Member Author

Linting is failing now - see here

I guess the upgraded linter means new rules and some deprecation of linters entirely

Oh my bad, I was blindly upgrading golangci-lint instead of using the same version that had been pinned in tools/go.mod. That should be fixed now 🤞

@imjasonh
Copy link
Member Author

Moving tools/* into the main module means it's now subject to lint checks, I've fixed some findings.

@jabrown85
Copy link
Contributor

go install github.com/sclevine/yj@v0.0.0-20200815061347-554173e71934: github.com/sclevine/yj@v0.0.0-20200815061347-554173e71934
The go.mod file for the module providing named packages contains one or
more replace directives. It must not contain directives that would cause
it to be interpreted differently than if it were the main module.

Hmm - I guess we need to add the same replace directive in the main go.mod now or we need @sclevine to cut a version that doesn't have a replace directive (if possible).

@imjasonh
Copy link
Member Author

I even tried adding the replace directive here, and got the same error message. 😢

It's possible that module-aware go install just doesn't support replace in the installed package at all? 🤔

jabrown85 added a commit to jabrown85/yj that referenced this pull request Jun 11, 2021
Trying to unblock buildpacks/lifecycle#628. The fork's commit was merged into the mainline module [here](pelletier/go-toml#426).

Signed-off-by: Jesse Brown <jabrown85@gmail.com>
@jabrown85
Copy link
Contributor

@imjasonh Stephen pulled in my PR to remove the replace directive if you want to pull that in and unblock this PR

@imjasonh
Copy link
Member Author

@imjasonh Stephen pulled in my PR to remove the replace directive if you want to pull that in and unblock this PR

Thanks! Done. 👍

@imjasonh imjasonh force-pushed the deps branch 2 times, most recently from 8088323 to 788f73d Compare June 14, 2021 14:11
@jabrown85
Copy link
Contributor

@imjasonh 🤞 the final hurdle appears to be the acceptance testdata launcher Dockerfile(s). The go1.16 tooling expects a go.mod to be present in order to run go build -o helper <>. Adding GO111MODULE=off to those Dockerfile or adding a go.mod for that exec.d folder should resolve it.

@imjasonh
Copy link
Member Author

@imjasonh 🤞 the final hurdle appears to be the acceptance testdata launcher Dockerfile(s). The go1.16 tooling expects a go.mod to be present in order to run go build -o helper <>. Adding GO111MODULE=off to those Dockerfile or adding a go.mod for that exec.d folder should resolve it.

Done! It's getting closer I can feel it! 😄

github.com/containerd/containerd v1.3.3 // indirect
github.com/docker/cli v0.0.0-20200312141509-ef2f64abbd37 // indirect
github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7
github.com/buildpacks/imgutil v0.0.0-20210609210403-3145c7480cde
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critical OSS Vulnerability:  

pkg:golang/github.com/coreos/etcd@3.3.13

1 Critical, 2 Severe, 0 Moderate and 0 Unknown vulnerabilities have been found in a transitive dependency of pkg:golang/github.com/buildpacks/imgutil@0.0.0-20210609210403-3145c7480cde

CRITICAL Vulnerabilities (1)

    CVE-2020-15114

    [CVE-2020-15114] In etcd before versions 3.3.23 and 3.4.10, the etcd gateway is a simple TCP prox...

    In etcd before versions 3.3.23 and 3.4.10, the etcd gateway is a simple TCP proxy to allow for basic service discovery and access. However, it is possible to include the gateway address as an endpoint. This results in a denial of service, since the endpoint can become stuck in a loop of requesting itself until there are no more available file descriptors to accept connections on the gateway.

    CVSS Score: 7.7

    CVSS Vector: CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H


SEVERE Vulnerabilities (2)

    CVE-2020-15136

    [CVE-2020-15136] In ectd before versions 3.4.10 and 3.3.23, gateway TLS authentication is only ap...

    In ectd before versions 3.4.10 and 3.3.23, gateway TLS authentication is only applied to endpoints detected in DNS SRV records. When starting a gateway, TLS authentication will only be attempted on endpoints identified in DNS SRV records for a given domain, which occurs in the discoverEndpoints function. No authentication is performed against endpoints provided in the --endpoints flag. This has been fixed in versions 3.4.10 and 3.3.23 with improved documentation and deprecation of the functionality.

    CVSS Score: 6.5

    CVSS Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N


    CVE-2020-15115

    [CVE-2020-15115] etcd before versions 3.3.23 and 3.4.10 does not perform any password length vali...

    etcd before versions 3.3.23 and 3.4.10 does not perform any password length validation, which allows for very short passwords, such as those with a length of one. This may allow an attacker to guess or brute-force users' passwords with little computational effort.

    CVSS Score: 5.8

    CVSS Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N


(at-me in a reply with help or ignore)

github.com/google/go-cmp v0.5.6
github.com/google/go-containerregistry v0.5.1
github.com/google/go-containerregistry v0.5.2-0.20210604130445-3bfab55f3bd9
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critical OSS Vulnerability:  

pkg:golang/github.com/coreos/etcd@3.3.13

1 Critical, 2 Severe, 0 Moderate and 0 Unknown vulnerabilities have been found in a transitive dependency of pkg:golang/github.com/google/go-containerregistry@0.5.2-0.20210604130445-3bfab55f3bd9

CRITICAL Vulnerabilities (1)

    CVE-2020-15114

    [CVE-2020-15114] In etcd before versions 3.3.23 and 3.4.10, the etcd gateway is a simple TCP prox...

    In etcd before versions 3.3.23 and 3.4.10, the etcd gateway is a simple TCP proxy to allow for basic service discovery and access. However, it is possible to include the gateway address as an endpoint. This results in a denial of service, since the endpoint can become stuck in a loop of requesting itself until there are no more available file descriptors to accept connections on the gateway.

    CVSS Score: 7.7

    CVSS Vector: CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H


SEVERE Vulnerabilities (2)

    CVE-2020-15136

    [CVE-2020-15136] In ectd before versions 3.4.10 and 3.3.23, gateway TLS authentication is only ap...

    In ectd before versions 3.4.10 and 3.3.23, gateway TLS authentication is only applied to endpoints detected in DNS SRV records. When starting a gateway, TLS authentication will only be attempted on endpoints identified in DNS SRV records for a given domain, which occurs in the discoverEndpoints function. No authentication is performed against endpoints provided in the --endpoints flag. This has been fixed in versions 3.4.10 and 3.3.23 with improved documentation and deprecation of the functionality.

    CVSS Score: 6.5

    CVSS Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N


    CVE-2020-15115

    [CVE-2020-15115] etcd before versions 3.3.23 and 3.4.10 does not perform any password length vali...

    etcd before versions 3.3.23 and 3.4.10 does not perform any password length validation, which allows for very short passwords, such as those with a length of one. This may allow an attacker to guess or brute-force users' passwords with little computational effort.

    CVSS Score: 5.8

    CVSS Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N


(at-me in a reply with help or ignore)

github.com/containerd/containerd v1.3.3 // indirect
github.com/docker/cli v0.0.0-20200312141509-ef2f64abbd37 // indirect
github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7
github.com/buildpacks/imgutil v0.0.0-20210609210403-3145c7480cde
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critical OSS Vulnerability:  

pkg:golang/github.com/dgrijalva/jwt-go@3.2.0

1 Critical, 0 Severe, 0 Moderate and 0 Unknown vulnerabilities have been found in a transitive dependency of pkg:golang/github.com/buildpacks/imgutil@0.0.0-20210609210403-3145c7480cde

CRITICAL Vulnerabilities (1)

    [CVE-2020-26160] jwt-go before 4.0.0-preview1 allows attackers to bypass intended access restrict...

    jwt-go before 4.0.0-preview1 allows attackers to bypass intended access restrictions in situations with []string{} for m["aud"] (which is allowed by the specification). Because the type assertion fails, "" is the value of aud. This is a security problem if the JWT token is presented to a service that lacks its own audience check.

    CVSS Score: 7.5

    CVSS Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N


(at-me in a reply with help or ignore)

github.com/google/go-cmp v0.5.6
github.com/google/go-containerregistry v0.5.1
github.com/google/go-containerregistry v0.5.2-0.20210604130445-3bfab55f3bd9
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critical OSS Vulnerability:  

pkg:golang/github.com/dgrijalva/jwt-go@3.2.0

1 Critical, 0 Severe, 0 Moderate and 0 Unknown vulnerabilities have been found in a transitive dependency of pkg:golang/github.com/google/go-containerregistry@0.5.2-0.20210604130445-3bfab55f3bd9

CRITICAL Vulnerabilities (1)

    [CVE-2020-26160] jwt-go before 4.0.0-preview1 allows attackers to bypass intended access restrict...

    jwt-go before 4.0.0-preview1 allows attackers to bypass intended access restrictions in situations with []string{} for m["aud"] (which is allowed by the specification). Because the type assertion fails, "" is the value of aud. This is a security problem if the JWT token is presented to a service that lacks its own audience check.

    CVSS Score: 7.5

    CVSS Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N


(at-me in a reply with help or ignore)

github.com/containerd/containerd v1.3.3 // indirect
github.com/docker/cli v0.0.0-20200312141509-ef2f64abbd37 // indirect
github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7
github.com/buildpacks/imgutil v0.0.0-20210609210403-3145c7480cde
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Critical OSS Vulnerability:  

pkg:golang/github.com/dgrijalva/jwt-go@0.0.0-20170104182250-a601269ab70c

1 Critical, 0 Severe, 0 Moderate and 0 Unknown vulnerabilities have been found in a transitive dependency of pkg:golang/github.com/buildpacks/imgutil@0.0.0-20210609210403-3145c7480cde

CRITICAL Vulnerabilities (1)

    [CVE-2020-26160] jwt-go before 4.0.0-preview1 allows attackers to bypass intended access restrict...

    jwt-go before 4.0.0-preview1 allows attackers to bypass intended access restrictions in situations with []string{} for m["aud"] (which is allowed by the specification). Because the type assertion fails, "" is the value of aud. This is a security problem if the JWT token is presented to a service that lacks its own audience check.

    CVSS Score: 7.5

    CVSS Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N


(at-me in a reply with help or ignore)

github.com/containerd/containerd v1.3.3 // indirect
github.com/docker/cli v0.0.0-20200312141509-ef2f64abbd37 // indirect
github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7
github.com/buildpacks/imgutil v0.0.0-20210609210403-3145c7480cde
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Severe OSS Vulnerability:  

pkg:golang/golang.org/x/crypto@0.0.0-20180904163835-0709b304e793

0 Critical, 1 Severe, 0 Moderate and 0 Unknown vulnerabilities have been found in a transitive dependency of pkg:golang/github.com/buildpacks/imgutil@0.0.0-20210609210403-3145c7480cde

SEVERE Vulnerabilities (1)

    [CVE-2019-11840] Use of Insufficiently Random Values

    An issue was discovered in supplementary Go cryptography libraries, aka golang-googlecode-go-crypto, before 2019-03-20. A flaw was found in the amd64 implementation of golang.org/x/crypto/salsa20 and golang.org/x/crypto/salsa20/salsa. If more than 256 GiB of keystream is generated, or if the counter otherwise grows greater than 32 bits, the amd64 implementation will first generate incorrect output, and then cycle back to previously generated keystream. Repeated keystream bytes can lead to loss of confidentiality in encryption applications, or to predictability in CSPRNG applications.

    CVSS Score: 5.9

    CVSS Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N


(at-me in a reply with help or ignore)

github.com/google/go-cmp v0.5.6
github.com/google/go-containerregistry v0.5.1
github.com/google/go-containerregistry v0.5.2-0.20210604130445-3bfab55f3bd9
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Severe OSS Vulnerability:  

pkg:golang/golang.org/x/crypto@0.0.0-20180904163835-0709b304e793

0 Critical, 1 Severe, 0 Moderate and 0 Unknown vulnerabilities have been found in a transitive dependency of pkg:golang/github.com/google/go-containerregistry@0.5.2-0.20210604130445-3bfab55f3bd9

SEVERE Vulnerabilities (1)

    [CVE-2019-11840] Use of Insufficiently Random Values

    An issue was discovered in supplementary Go cryptography libraries, aka golang-googlecode-go-crypto, before 2019-03-20. A flaw was found in the amd64 implementation of golang.org/x/crypto/salsa20 and golang.org/x/crypto/salsa20/salsa. If more than 256 GiB of keystream is generated, or if the counter otherwise grows greater than 32 bits, the amd64 implementation will first generate incorrect output, and then cycle back to previously generated keystream. Repeated keystream bytes can lead to loss of confidentiality in encryption applications, or to predictability in CSPRNG applications.

    CVSS Score: 5.9

    CVSS Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N


(at-me in a reply with help or ignore)

github.com/containerd/containerd v1.3.3 // indirect
github.com/docker/cli v0.0.0-20200312141509-ef2f64abbd37 // indirect
github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7
github.com/buildpacks/imgutil v0.0.0-20210609210403-3145c7480cde
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Severe OSS Vulnerability:  

pkg:golang/golang.org/x/crypto@0.0.0-20181009213950-7c1a557ab941

0 Critical, 1 Severe, 0 Moderate and 0 Unknown vulnerabilities have been found in a transitive dependency of pkg:golang/github.com/buildpacks/imgutil@0.0.0-20210609210403-3145c7480cde

SEVERE Vulnerabilities (1)

    [CVE-2019-11840] Use of Insufficiently Random Values

    An issue was discovered in supplementary Go cryptography libraries, aka golang-googlecode-go-crypto, before 2019-03-20. A flaw was found in the amd64 implementation of golang.org/x/crypto/salsa20 and golang.org/x/crypto/salsa20/salsa. If more than 256 GiB of keystream is generated, or if the counter otherwise grows greater than 32 bits, the amd64 implementation will first generate incorrect output, and then cycle back to previously generated keystream. Repeated keystream bytes can lead to loss of confidentiality in encryption applications, or to predictability in CSPRNG applications.

    CVSS Score: 5.9

    CVSS Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N


(at-me in a reply with help or ignore)

github.com/google/go-cmp v0.5.6
github.com/google/go-containerregistry v0.5.1
github.com/google/go-containerregistry v0.5.2-0.20210604130445-3bfab55f3bd9
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Severe OSS Vulnerability:  

pkg:golang/golang.org/x/crypto@0.0.0-20181009213950-7c1a557ab941

0 Critical, 1 Severe, 0 Moderate and 0 Unknown vulnerabilities have been found in a transitive dependency of pkg:golang/github.com/google/go-containerregistry@0.5.2-0.20210604130445-3bfab55f3bd9

SEVERE Vulnerabilities (1)

    [CVE-2019-11840] Use of Insufficiently Random Values

    An issue was discovered in supplementary Go cryptography libraries, aka golang-googlecode-go-crypto, before 2019-03-20. A flaw was found in the amd64 implementation of golang.org/x/crypto/salsa20 and golang.org/x/crypto/salsa20/salsa. If more than 256 GiB of keystream is generated, or if the counter otherwise grows greater than 32 bits, the amd64 implementation will first generate incorrect output, and then cycle back to previously generated keystream. Repeated keystream bytes can lead to loss of confidentiality in encryption applications, or to predictability in CSPRNG applications.

    CVSS Score: 5.9

    CVSS Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N


(at-me in a reply with help or ignore)

github.com/containerd/containerd v1.3.3 // indirect
github.com/docker/cli v0.0.0-20200312141509-ef2f64abbd37 // indirect
github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7
github.com/buildpacks/imgutil v0.0.0-20210609210403-3145c7480cde
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Severe OSS Vulnerability:  

pkg:golang/golang.org/x/crypto@0.0.0-20190308221718-c2843e01d9a2

0 Critical, 1 Severe, 0 Moderate and 0 Unknown vulnerabilities have been found in a transitive dependency of pkg:golang/github.com/buildpacks/imgutil@0.0.0-20210609210403-3145c7480cde

SEVERE Vulnerabilities (1)

    [CVE-2019-11840] Use of Insufficiently Random Values

    An issue was discovered in supplementary Go cryptography libraries, aka golang-googlecode-go-crypto, before 2019-03-20. A flaw was found in the amd64 implementation of golang.org/x/crypto/salsa20 and golang.org/x/crypto/salsa20/salsa. If more than 256 GiB of keystream is generated, or if the counter otherwise grows greater than 32 bits, the amd64 implementation will first generate incorrect output, and then cycle back to previously generated keystream. Repeated keystream bytes can lead to loss of confidentiality in encryption applications, or to predictability in CSPRNG applications.

    CVSS Score: 5.9

    CVSS Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N


(at-me in a reply with help or ignore)

github.com/google/go-cmp v0.5.6
github.com/google/go-containerregistry v0.5.1
github.com/google/go-containerregistry v0.5.2-0.20210604130445-3bfab55f3bd9
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Severe OSS Vulnerability:  

pkg:golang/golang.org/x/crypto@0.0.0-20190308221718-c2843e01d9a2

0 Critical, 1 Severe, 0 Moderate and 0 Unknown vulnerabilities have been found in a transitive dependency of pkg:golang/github.com/google/go-containerregistry@0.5.2-0.20210604130445-3bfab55f3bd9

SEVERE Vulnerabilities (1)

    [CVE-2019-11840] Use of Insufficiently Random Values

    An issue was discovered in supplementary Go cryptography libraries, aka golang-googlecode-go-crypto, before 2019-03-20. A flaw was found in the amd64 implementation of golang.org/x/crypto/salsa20 and golang.org/x/crypto/salsa20/salsa. If more than 256 GiB of keystream is generated, or if the counter otherwise grows greater than 32 bits, the amd64 implementation will first generate incorrect output, and then cycle back to previously generated keystream. Repeated keystream bytes can lead to loss of confidentiality in encryption applications, or to predictability in CSPRNG applications.

    CVSS Score: 5.9

    CVSS Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N


(at-me in a reply with help or ignore)

github.com/heroku/color v0.0.6
github.com/mattn/go-colorable v0.1.8 // indirect
github.com/mattn/go-isatty v0.0.13 // indirect
github.com/moby/term v0.0.0-20210610120745-9d4ed1856297 // indirect
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Severe OSS Vulnerability:  

pkg:golang/golang.org/x/crypto@0.0.0-20190308221718-c2843e01d9a2

0 Critical, 1 Severe, 0 Moderate and 0 Unknown vulnerabilities have been found in a transitive dependency of pkg:golang/github.com/moby/term@0.0.0-20210610120745-9d4ed1856297

SEVERE Vulnerabilities (1)

    [CVE-2019-11840] Use of Insufficiently Random Values

    An issue was discovered in supplementary Go cryptography libraries, aka golang-googlecode-go-crypto, before 2019-03-20. A flaw was found in the amd64 implementation of golang.org/x/crypto/salsa20 and golang.org/x/crypto/salsa20/salsa. If more than 256 GiB of keystream is generated, or if the counter otherwise grows greater than 32 bits, the amd64 implementation will first generate incorrect output, and then cycle back to previously generated keystream. Repeated keystream bytes can lead to loss of confidentiality in encryption applications, or to predictability in CSPRNG applications.

    CVSS Score: 5.9

    CVSS Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N


(at-me in a reply with help or ignore)

golang.org/x/net v0.0.0-20210610132358-84b48f89b13b // indirect
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
golang.org/x/sys v0.0.0-20210608053332-aa57babbf139
google.golang.org/genproto v0.0.0-20210610141715-e7a9b787a5a4 // indirect
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Severe OSS Vulnerability:  

pkg:golang/golang.org/x/crypto@0.0.0-20190308221718-c2843e01d9a2

0 Critical, 1 Severe, 0 Moderate and 0 Unknown vulnerabilities have been found in a transitive dependency of pkg:golang/google.golang.org/genproto@0.0.0-20210610141715-e7a9b787a5a4

SEVERE Vulnerabilities (1)

    [CVE-2019-11840] Use of Insufficiently Random Values

    An issue was discovered in supplementary Go cryptography libraries, aka golang-googlecode-go-crypto, before 2019-03-20. A flaw was found in the amd64 implementation of golang.org/x/crypto/salsa20 and golang.org/x/crypto/salsa20/salsa. If more than 256 GiB of keystream is generated, or if the counter otherwise grows greater than 32 bits, the amd64 implementation will first generate incorrect output, and then cycle back to previously generated keystream. Repeated keystream bytes can lead to loss of confidentiality in encryption applications, or to predictability in CSPRNG applications.

    CVSS Score: 5.9

    CVSS Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N


(at-me in a reply with help or ignore)

github.com/containerd/containerd v1.3.3 // indirect
github.com/docker/cli v0.0.0-20200312141509-ef2f64abbd37 // indirect
github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7
github.com/buildpacks/imgutil v0.0.0-20210609210403-3145c7480cde
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Severe OSS Vulnerability:  

pkg:golang/golang.org/x/crypto@0.0.0-20171113213409-9f005a07e0d3

0 Critical, 1 Severe, 0 Moderate and 0 Unknown vulnerabilities have been found in a transitive dependency of pkg:golang/github.com/buildpacks/imgutil@0.0.0-20210609210403-3145c7480cde

SEVERE Vulnerabilities (1)

    [CVE-2019-11840] Use of Insufficiently Random Values

    An issue was discovered in supplementary Go cryptography libraries, aka golang-googlecode-go-crypto, before 2019-03-20. A flaw was found in the amd64 implementation of golang.org/x/crypto/salsa20 and golang.org/x/crypto/salsa20/salsa. If more than 256 GiB of keystream is generated, or if the counter otherwise grows greater than 32 bits, the amd64 implementation will first generate incorrect output, and then cycle back to previously generated keystream. Repeated keystream bytes can lead to loss of confidentiality in encryption applications, or to predictability in CSPRNG applications.

    CVSS Score: 5.9

    CVSS Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N


(at-me in a reply with help or ignore)

github.com/google/go-cmp v0.5.6
github.com/google/go-containerregistry v0.5.1
github.com/google/go-containerregistry v0.5.2-0.20210604130445-3bfab55f3bd9
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Severe OSS Vulnerability:  

pkg:golang/golang.org/x/crypto@0.0.0-20171113213409-9f005a07e0d3

0 Critical, 1 Severe, 0 Moderate and 0 Unknown vulnerabilities have been found in a transitive dependency of pkg:golang/github.com/google/go-containerregistry@0.5.2-0.20210604130445-3bfab55f3bd9

SEVERE Vulnerabilities (1)

    [CVE-2019-11840] Use of Insufficiently Random Values

    An issue was discovered in supplementary Go cryptography libraries, aka golang-googlecode-go-crypto, before 2019-03-20. A flaw was found in the amd64 implementation of golang.org/x/crypto/salsa20 and golang.org/x/crypto/salsa20/salsa. If more than 256 GiB of keystream is generated, or if the counter otherwise grows greater than 32 bits, the amd64 implementation will first generate incorrect output, and then cycle back to previously generated keystream. Repeated keystream bytes can lead to loss of confidentiality in encryption applications, or to predictability in CSPRNG applications.

    CVSS Score: 5.9

    CVSS Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N


(at-me in a reply with help or ignore)

@jabrown85
Copy link
Contributor

@imjasonh Linux passed 🎉 Windows 😬

RUN GO111MODULE=off go build -o helper.exe exec.d
         ---> Running in 07384429eba3
        'GO111MODULE' is not recognized as an internal or external command,

I think we need something like

RUN set GO111MODULE=off before the RUN go build command.

Copy link
Contributor

@jabrown85 jabrown85 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm super happy to see this!

@natalieparellano
Copy link
Member

I fear that I created these merge conflicts when I merged #617 :'( @imjasonh do you mind resolving them? We could hold off on other merges until this gets through.

Also use module-aware go install to install version-pinned Go tooling,
instead of using tools/tools.go, and remove the separate Go module in
tools/

This change requires Go 1.16+ to build, so also update all CI configs to
use 1.16.

Signed-off-by: Jason Hall <jasonhall@redhat.com>
@codecov
Copy link

codecov bot commented Jun 16, 2021

Codecov Report

Merging #628 (b1b37e1) into main (7c5f36b) will decrease coverage by 0.21%.
The diff coverage is n/a.

❗ Current head b1b37e1 differs from pull request most recent head b0f8657. Consider uploading reports for the commit b0f8657 to get more accurate results
Impacted file tree graph

@@            Coverage Diff             @@
##             main     #628      +/-   ##
==========================================
- Coverage   65.10%   64.90%   -0.20%     
==========================================
  Files          53       52       -1     
  Lines        3676     3623      -53     
==========================================
- Hits         2393     2351      -42     
+ Misses       1031     1023       -8     
+ Partials      252      249       -3     
Flag Coverage Δ
os_windows 64.90% <ø> (-0.20%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

@imjasonh
Copy link
Member Author

I fear that I created these merge conflicts when I merged #617 :'( @imjasonh do you mind resolving them? We could hold off on other merges until this gets through.

No worries! Since the conflict was just on tools/go.sum which I deleted anyway the merge was very easy. 😈

I also took this opportunity to squash commits.

Signed-off-by: Jason Hall <jasonhall@redhat.com>
@natalieparellano
Copy link
Member

@imjasonh I think we might have lost the fix for this Windows error in the squash:

Step 6/9 : RUN copy c:\gopath\helper.exe c:\layers\0.6_buildpack\some_layer\exec.d\helper.exe
         ---> Running in 01cc5789cf70
        The system cannot find the file specified.

Do you remember what it was? If not, I can grab a Windows environment.

Signed-off-by: Jason Hall <jasonhall@redhat.com>
@imjasonh
Copy link
Member Author

@imjasonh I think we might have lost the fix for this Windows error in the squash:

Step 6/9 : RUN copy c:\gopath\helper.exe c:\layers\0.6_buildpack\some_layer\exec.d\helper.exe
         ---> Running in 01cc5789cf70
        The system cannot find the file specified.

Do you remember what it was? If not, I can grab a Windows environment.

I'm not sure I understand what changed. The only changes I made here were:

  1. Update to Go 1.16, which changed the default GO111MODULE to on, so I
  2. Explicitly set GO111MODULE=off

This seems to have caused the system cannot find the file specified error, which I've attempted to fix by explicitly writing the built binary to c:\gopath\helper.exe. This didn't seem to fix the issue though.

I've pushed another commit that might fix this, but I'm a bit grasping at straws here. If someone knows more about how Windows works that might be helpful.

Signed-off-by: Jason Hall <jasonhall@redhat.com>
@imjasonh
Copy link
Member Author

imjasonh commented Jun 22, 2021

The latest failure is:

        --- FAIL: TestAnalyzer/acceptance-analyzer/0.3/daemon_case/writes_analyzed.toml (0.52s)
        --- FAIL: TestAnalyzer/acceptance-analyzer/0.3/daemon_case/app_image_exists/restores_app_metadata (62.44s)

It only failed on Windows, but looking briefly at the test I'm not sure how that would be platform-dependent, or how it could be related to my change. 🤔

Any ideas?

edit: seems like a flake?

@natalieparellano
Copy link
Member

seems like a flake?

@imjasonh I'm of that opinion as well. Let's merge this!

Thank you so much for all the effort in getting this through!

@natalieparellano natalieparellano merged commit 1d7a850 into buildpacks:main Jun 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants