github.com/cyphar/filepath-securejoin
go
pkg:golang/github.com/cyphar/filepath-securejoin
248 Dependabot PRs
about 18 hours ago
93 repositories
2 repositories
Recent PRs
build(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
apptainer/apptainer #3149
Bump github.com/cyphar/filepath-securejoin from 0.2.5 to 0.5.0
HyperCogWizard/ml-os-agent #13
chore(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
kyverno/kyverno #14077
Bump the go-modules group with 9 updates
paketo-buildpacks/go-build #899
build(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
opencontainers/umoci #627
Bump the go-modules group with 9 updates
paketo-buildpacks/nginx #1010
chore(deps): Bump the production-dependencies group across 1 directory with 18 updates
build(deps): bump the gomod group across 1 directory with 3 updates
saschagrunert/cri-o #911
chore(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
yingxin-gh/helm #250
build(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
opencontainers/runc #4901
chore(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
zenaptix-lab/helm #494
go: bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
inspektor-gadget/inspektor-gadget #4936
chore(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
argoproj/argo-cd #24745
build(deps): bump github.com/cyphar/filepath-securejoin from 0.2.3 to 0.5.0
rst0git/cri-o #416
Bump github.com/cyphar/filepath-securejoin from 0.2.4 to 0.5.0
openkylin/runc #16
Bump the go-modules group with 10 updates
paketo-buildpacks/go-dist #1125
build(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
containerd/nerdctl #4527
build(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
LadyK-21/runc #73
chore(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
helm/helm #31336
chore(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
helm/helm #31335
Bump the go-modules group with 9 updates
paketo-buildpacks/poetry-install #478
build(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
DataDog/runc #54
Bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
gitops-tools/gitopssets-controller #358
Bump the go-modules group with 9 updates
paketo-buildpacks/go-mod-vendor #937
Bump the go-modules group with 9 updates
paketo-buildpacks/npm-install #1016
build(deps): bump the gomod group with 37 updates
SM-100-Bench/cri-o_cri-o_8968 #26
build(deps): bump the gomod group with 37 updates
SM-100-Bench/cri-o_cri-o_8968 #25
build(deps): bump the gomod group with 37 updates
SM-100-Bench/cri-o_cri-o_8968 #24
build(deps): bump the gomod group with 37 updates
SM-100-Bench/cri-o_cri-o_8968 #23
build(deps): bump the gomod group with 37 updates
SM-100-Bench/cri-o_cri-o_8968 #22
build(deps): bump the gomod group with 37 updates
SM-100-Bench/cri-o_cri-o_8968 #21
build(deps): bump the gomod group with 36 updates
SM-100-Bench/cri-o_cri-o_8968 #20
build(deps): bump github.com/cyphar/filepath-securejoin from 0.2.2 to 0.2.4 in /tests/helm
Bump the go_modules group across 2 directories with 10 updates
github/vitess-gh #186
build(deps): bump the gomod group with 33 updates
SM-100-Bench/cri-o_cri-o_8968 #13
Bump the go_modules group across 1 directory with 8 updates
build(deps): bump github.com/cyphar/filepath-securejoin from 0.2.3 to 0.2.4
Bump github.com/cyphar/filepath-securejoin from 0.2.2 to 0.2.4
nestybox/sysbox-fs #107
Bump the go_modules group across 1 directory with 8 updates
Bump the go_modules group across 1 directory with 5 updates
Bump the go_modules group across 2 directories with 9 updates
github/vitess-gh #167
Bump github.com/cyphar/filepath-securejoin from 0.2.5 to 0.4.1
build(deps): bump github.com/cyphar/filepath-securejoin from 0.2.3 to 0.2.4
H1d3r/cilium #399
Bump the go_modules group across 1 directory with 10 updates
Bump github.com/cyphar/filepath-securejoin from 0.2.2 to 0.2.4
Bump the go_modules group across 2 directories with 9 updates
github/vitess-gh #160
Bump the go-modules group across 1 directory with 52 updates
Package Details
| Name: | github.com/cyphar/filepath-securejoin |
| Ecosystem: | go |
| PURL Type: | golang |
| Package URL: | pkg:golang/github.com/cyphar/filepath-securejoin |
| JSON API: | View JSON |
Security Advisories
Package Information
Package securejoin implements a set of helpers to make it easier to write Go code that is safe against symlink-related escape attacks. The primary idea is to let you resolve a path within a rootfs directory as if the rootfs was a chroot. securejoin has two APIs, a "legacy" API and a "modern" API. The legacy API is SecureJoin and SecureJoinVFS. These methods are **not** safe against race conditions where an attacker changes the filesystem after (or during) the SecureJoin operation. The new API is made up of OpenInRoot and MkdirAll (and derived functions). These are safe against racing attackers and have several other protections that are not provided by the legacy API. There are many more operations that most programs expect to be able to do safely, but we do not provide explicit support for them because we want to encourage users to switch to [libpathrs](https://github.com/openSUSE/libpathrs) which is a cross-language next-generation library that is entirely designed around operating on paths safely. securejoin has been used by several container runtimes (Docker, runc, Kubernetes, etc) for quite a few years as a de-facto standard for operating on container filesystem paths "safely". However, most users still use the legacy API which is unsafe against various attacks (there is a fairly long history of CVEs in dependent as a result). Users should switch to the modern API as soon as possible (or even better, switch to libpathrs). This project was initially intended to be included in the Go standard library, but [it was rejected](https://go.dev/issue/20126). There is now a [new Go proposal](https://go.dev/issue/67002) for a safe path resolution API that shares some of the goals of filepath-securejoin. However, that design is intended to work like `openat2(RESOLVE_BENEATH)` which does not fit the usecase of container runtimes and most system tools.
| Repository: | https://github.com/cyphar/filepath-securejoin |
| Homepage: | https://github.com/cyphar/filepath-securejoin |
| Latest Release: |
v0.4.1
over 1 year ago |
| Dependent Repos: | 21,974 |
| Dependent Packages: | 5,997 |
| Ranking: | Top 0.0416% by dependent repos Top 0.0547% by dependent pkgs |