phisco / crossplane

Cloud Native Control Planes
https://crossplane.io
Apache License 2.0
1 stars 0 forks source link

fix(deps): update module github.com/cyphar/filepath-securejoin to v0.2.4 [security] (release-1.13) #317

Open phisco-renovate[bot] opened 3 months ago

phisco-renovate[bot] commented 3 months ago

This PR contains the following updates:

Package Type Update Change
github.com/cyphar/filepath-securejoin require patch v0.2.3 -> v0.2.4

Paths outside of the rootfs could be produced on Windows in github.com/cyphar/filepath-securejoin

GHSA-6xv5-86q9-7xr8 / GO-2023-2048

More information #### Details Certain rootfs and path combinations result in generated paths that are outside of the provided rootfs on Windows. #### Severity Unknown #### References - [https://github.com/cyphar/filepath-securejoin/security/advisories/GHSA-6xv5-86q9-7xr8](https://redirect.github.com/cyphar/filepath-securejoin/security/advisories/GHSA-6xv5-86q9-7xr8) - [https://github.com/cyphar/filepath-securejoin/commit/c121231e1276e11049547bee5ce68d5a2cfe2d9b](https://redirect.github.com/cyphar/filepath-securejoin/commit/c121231e1276e11049547bee5ce68d5a2cfe2d9b) This data is provided by [OSV](https://osv.dev/vulnerability/GO-2023-2048) and the [Go Vulnerability Database](https://redirect.github.com/golang/vulndb) ([CC-BY 4.0](https://redirect.github.com/golang/vulndb#license)).

SecureJoin: on windows, paths outside of the rootfs could be inadvertently produced

GHSA-6xv5-86q9-7xr8 / GO-2023-2048

More information #### Details ##### Impact For Windows users of `github.com/cyphar/filepath-securejoin`, until v0.2.4 it was possible for certain rootfs and path combinations (in particular, where a malicious Unix-style `/`-separated unsafe path was used with a Windows-style rootfs path) to result in generated paths that were outside of the provided rootfs. It is unclear to what extent this has a practical impact on real users, but given the possible severity of the issue we have released an emergency patch release that resolves this issue. Thanks to @​pjbgf for discovering, debugging, and fixing this issue (as well as writing some tests for it). ##### Patches c121231e1276e11049547bee5ce68d5a2cfe2d9b is the patch fixing this issue. v0.2.4 contains the fix. ##### Workarounds Users could use `filepath.FromSlash()` on all unsafe paths before passing them to `filepath-securejoin`. ##### References See #​9. #### Severity Moderate #### References - [https://github.com/cyphar/filepath-securejoin/security/advisories/GHSA-6xv5-86q9-7xr8](https://redirect.github.com/cyphar/filepath-securejoin/security/advisories/GHSA-6xv5-86q9-7xr8) - [https://github.com/cyphar/filepath-securejoin/pull/9](https://redirect.github.com/cyphar/filepath-securejoin/pull/9) - [https://github.com/cyphar/filepath-securejoin/commit/c121231e1276e11049547bee5ce68d5a2cfe2d9b](https://redirect.github.com/cyphar/filepath-securejoin/commit/c121231e1276e11049547bee5ce68d5a2cfe2d9b) - [https://github.com/cyphar/filepath-securejoin](https://redirect.github.com/cyphar/filepath-securejoin) - [https://github.com/cyphar/filepath-securejoin/releases/tag/v0.2.4](https://redirect.github.com/cyphar/filepath-securejoin/releases/tag/v0.2.4) This data is provided by [OSV](https://osv.dev/vulnerability/GHSA-6xv5-86q9-7xr8) and the [GitHub Advisory Database](https://redirect.github.com/github/advisory-database) ([CC-BY 4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).

Release Notes

cyphar/filepath-securejoin (github.com/cyphar/filepath-securejoin) ### [`v0.2.4`](https://redirect.github.com/cyphar/filepath-securejoin/releases/tag/v0.2.4) [Compare Source](https://redirect.github.com/cyphar/filepath-securejoin/compare/v0.2.3...v0.2.4) This release fixes a potential security issue in filepath-securejoin when used on Windows (GHSA-6xv5-86q9-7xr8, which could be used to generate paths outside of the provided rootfs in certain cases), as well as improving the overall behaviour of filepath-securejoin when dealing with Windows paths that contain volume names. Thanks to Paulo Gomes for discovering and fixing these issues. In addition, we've switched (at long last) to GitHub Actions and have continuous integration testing on Linux, MacOS, and Windows. Thanks to the following contributors for making this release possible: - Aleksa Sarai - Paulo Gomes Signed-off-by: Aleksa Sarai

Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by Renovate Bot.

phisco-renovate[bot] commented 3 months ago

⚠️ Artifact update problem

Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

The artifact failure details are included below:

File name: go.mod
Command failed: install-tool golang $(grep -oP "^toolchain go\K.+" go.mod)
File name: go.mod
Command failed: make generate
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
    panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xa07b8f]

goroutine 142 [running]:
go/types.(*Checker).handleBailout(0xc00173b200, 0xc000865d40)
    /opt/containerbase/tools/golang/1.22.5/src/go/types/check.go:367 +0x88
panic({0xbbe580?, 0x12a74b0?})
    /opt/containerbase/tools/golang/1.22.5/src/runtime/panic.go:770 +0x132
go/types.(*StdSizes).Sizeof(0x0, {0xdb81d8, 0x12afc80})
    /opt/containerbase/tools/golang/1.22.5/src/go/types/sizes.go:228 +0x30f
go/types.(*Config).sizeof(...)
    /opt/containerbase/tools/golang/1.22.5/src/go/types/sizes.go:333
go/types.representableConst.func1({0xdb81d8?, 0x12afc80?})
    /opt/containerbase/tools/golang/1.22.5/src/go/types/const.go:76 +0x9e
go/types.representableConst({0xdbe530, 0x127ac80}, 0xc00173b200, 0x12afc80, 0x0)
    /opt/containerbase/tools/golang/1.22.5/src/go/types/const.go:92 +0x192
go/types.(*Checker).arrayLength(0xc00173b200, {0xdbc7d8, 0xc00191ee20?})
    /opt/containerbase/tools/golang/1.22.5/src/go/types/typexpr.go:510 +0x2d3
go/types.(*Checker).typInternal(0xc00173b200, {0xdbadf8, 0xc00191ced0}, 0x0)
    /opt/containerbase/tools/golang/1.22.5/src/go/types/typexpr.go:299 +0x49d
go/types.(*Checker).definedType(0xc00173b200, {0xdbadf8, 0xc00191ced0}, 0xc000865328?)
    /opt/containerbase/tools/golang/1.22.5/src/go/types/typexpr.go:180 +0x37
go/types.(*Checker).varType(0xc00173b200, {0xdbadf8, 0xc00191ced0})
    /opt/containerbase/tools/golang/1.22.5/src/go/types/typexpr.go:145 +0x25
go/types.(*Checker).structType(0xc00173b200, 0xc0019365d0, 0xc0019365d0?)
    /opt/containerbase/tools/golang/1.22.5/src/go/types/struct.go:113 +0x19f
go/types.(*Checker).typInternal(0xc00173b200, {0xdbad68, 0xc001918c60}, 0xc001934e10)
    /opt/containerbase/tools/golang/1.22.5/src/go/types/typexpr.go:316 +0x1345
go/types.(*Checker).definedType(0xc00173b200, {0xdbad68, 0xc001918c60}, 0xc8786d?)
    /opt/containerbase/tools/golang/1.22.5/src/go/types/typexpr.go:180 +0x37
go/types.(*Checker).typeDecl(0xc00173b200, 0xc001934e10, 0xc00191ad40, 0x0)
    /opt/containerbase/tools/golang/1.22.5/src/go/types/decl.go:615 +0x44d
go/types.(*Checker).objDecl(0xc00173b200, {0xdc3a80, 0xc001934e10}, 0x0)
    /opt/containerbase/tools/golang/1.22.5/src/go/types/decl.go:197 +0xa7f
go/types.(*Checker).packageObjects(0xc00173b200)
    /opt/containerbase/tools/golang/1.22.5/src/go/types/resolver.go:681 +0x425
go/types.(*Checker).checkFiles(0xc00173b200, {0xc0016efec0, 0x3, 0x3})
    /opt/containerbase/tools/golang/1.22.5/src/go/types/check.go:408 +0x1a5
go/types.(*Checker).Files(...)
    /opt/containerbase/tools/golang/1.22.5/src/go/types/check.go:372
sigs.k8s.io/controller-tools/pkg/loader.(*loader).typeCheck(0xc00024d440, 0xc0004f5d20)
    /home/ubuntu/go/pkg/mod/sigs.k8s.io/controller-tools@v0.12.1/pkg/loader/loader.go:286 +0x36a
sigs.k8s.io/controller-tools/pkg/loader.(*Package).NeedTypesInfo(0xc0004f5d20)
    /home/ubuntu/go/pkg/mod/sigs.k8s.io/controller-tools@v0.12.1/pkg/loader/loader.go:99 +0x39
sigs.k8s.io/controller-tools/pkg/loader.(*TypeChecker).check(0xc000799560, 0xc0004f5d20)
    /home/ubuntu/go/pkg/mod/sigs.k8s.io/controller-tools@v0.12.1/pkg/loader/refs.go:268 +0x2b7
sigs.k8s.io/controller-tools/pkg/loader.(*TypeChecker).check.func1(0x3f?)
    /home/ubuntu/go/pkg/mod/sigs.k8s.io/controller-tools@v0.12.1/pkg/loader/refs.go:262 +0x53
created by sigs.k8s.io/controller-tools/pkg/loader.(*TypeChecker).check in goroutine 129
    /home/ubuntu/go/pkg/mod/sigs.k8s.io/controller-tools@v0.12.1/pkg/loader/refs.go:260 +0x1c5
exit status 2
apis/generate.go:45: running "go": exit status 1
make[1]: *** [build/makelib/golang.mk:240: go.generate] Error 1
make: *** [build/makelib/common.mk:434: generate] Error 2