github.com/cyphar/filepath-securejoin
go
pkg:golang/github.com/cyphar/filepath-securejoin
247 Dependabot PRs
22 days ago
93 repositories
2 repositories
Recent PRs
chore(deps): Bump the production-dependencies group across 1 directory with 5 updates
build(deps): bump the go-dependencies group across 1 directory with 10 updates
Bump the go_modules group across 3 directories with 16 updates
chore(deps): Bump the production-dependencies group across 1 directory with 3 updates
chore(deps): Bump github.com/cyphar/filepath-securejoin from 0.5.1 to 0.6.1 in the production-dependencies group
Bump the go_modules group across 3 directories with 16 updates
build(deps): bump the gomod group across 1 directory with 26 updates
saschagrunert/cri-o #962
build(deps): bump github.com/cyphar/filepath-securejoin from 0.2.3 to 0.6.1
wgahnagl/cri-o #412
build(deps): bump github.com/cyphar/filepath-securejoin from 0.2.3 to 0.6.1
maolin-sen/cri-o #263
build(deps): bump the gomod group across 1 directory with 14 updates
cri-o/cri-o #9720
chore(deps): Bump the production-dependencies group across 1 directory with 9 updates
build(deps): bump the gomod group across 1 directory with 13 updates
cri-o/cri-o #9709
chore(deps): Bump the production-dependencies group across 1 directory with 11 updates
chore(deps): Bump the production-dependencies group across 1 directory with 6 updates
build(deps): bump the gomod group across 1 directory with 10 updates
cri-o/cri-o #9701
build(deps): bump the gomod group across 1 directory with 9 updates
cri-o/cri-o #9698
Bump the go-deps group across 1 directory with 7 updates
fluxcd/kustomize-controller #1564
build(deps): bump the go-deps group across 1 directory with 13 updates
fluxcd/source-controller #1952
chore(deps): Bump the production-dependencies group across 1 directory with 3 updates
build(deps): bump the go-modules group across 1 directory with 105 updates
cyrillesondag/paketo-buildpacks-pnpm #69
chore(deps): bump github.com/cyphar/filepath-securejoin from 0.2.4 to 0.6.1
dapr/components-contrib #4126
Bump the gomod group across 1 directory with 49 updates
open-cluster-management-io/governance-policy-addon-controller #241
Bump the go-modules group across 1 directory with 76 updates
Bump the gomod group across 1 directory with 45 updates
open-cluster-management-io/governance-policy-addon-controller #240
chore(deps): Bump the production-dependencies group across 1 directory with 21 updates
Bump the gomod group across 1 directory with 45 updates
stolostron/governance-policy-addon-controller #1132
Bump the go_modules group across 2 directories with 10 updates
github/vitess-gh #202
chore(deps): Bump the production-dependencies group across 1 directory with 17 updates
Bump the go-modules group across 1 directory with 72 updates
paketo-buildpacks/pip-install #570
chore(deps): Bump the production-dependencies group across 1 directory with 22 updates
Bump github.com/cyphar/filepath-securejoin from 0.6.0 to 0.6.1
DataDog/datadog-agent #43938
build(deps): bump the go-modules group across 1 directory with 100 updates
cyrillesondag/paketo-buildpacks-pnpm #66
Bump the go-modules group across 1 directory with 99 updates
paketo-buildpacks/miniconda #684
Bump the gomod group across 1 directory with 21 updates
stolostron/governance-policy-addon-controller #1112
chore(deps): Bump the production-dependencies group across 1 directory with 6 updates
chore(deps): Bump the production-dependencies group across 1 directory with 5 updates
build(deps): bump the go-modules group across 1 directory with 98 updates
cyrillesondag/paketo-buildpacks-pnpm #64
chore(deps): Bump the production-dependencies group across 1 directory with 5 updates
Bump the go-modules group across 1 directory with 57 updates
paketo-buildpacks/pip-install #563
Bump the go-modules group across 1 directory with 57 updates
Bump the gomod group across 1 directory with 20 updates
stolostron/governance-policy-addon-controller #1111
Bump github.com/cyphar/filepath-securejoin from 0.6.0 to 0.6.1 in the go-deps group
fluxcd/kustomize-controller #1559
Bump the go-modules group across 1 directory with 54 updates
chore(deps): Bump the production-dependencies group across 1 directory with 32 updates
Bump the go-modules group across 1 directory with 53 updates
paketo-buildpacks/pip-install #561
chore(deps): bump github.com/cyphar/filepath-securejoin from 0.6.0 to 0.6.1
kyverno/kyverno #14407
Bump the gomod group across 1 directory with 19 updates
stolostron/governance-policy-addon-controller #1110
chore(deps): Bump the production-dependencies group across 1 directory with 34 updates
Bump the go-modules group across 1 directory with 49 updates
paketo-buildpacks/cpython #1085
Bump the go-modules group across 1 directory with 44 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 |