github.com/cyphar/filepath-securejoin
go
pkg:golang/github.com/cyphar/filepath-securejoin
248 Dependabot PRs
about 12 hours ago
93 repositories
2 repositories
Recent PRs
build(deps): bump the go-deps group across 1 directory with 5 updates
fluxcd/source-controller #1918
Bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0 in the go-deps group across 1 directory
fluxcd/kustomize-controller #1532
Bump the go-modules group across 1 directory with 92 updates
paketo-buildpacks/miniconda #657
chore(deps): Bump the production-dependencies group across 1 directory with 30 updates
chore(deps): Bump the production-dependencies group across 1 directory with 28 updates
chore(deps): Bump the production-dependencies group across 1 directory with 25 updates
Bump the go-modules group across 1 directory with 38 updates
paketo-buildpacks/npm-install #1026
build(deps): bump the go-modules group across 1 directory with 78 updates
cyrillesondag/paketo-buildpacks-pnpm #40
Bump the go-modules group across 1 directory with 91 updates
paketo-buildpacks/miniconda #656
chore(deps): Bump the production-dependencies group across 1 directory with 24 updates
chore(deps): Bump the production-dependencies group across 1 directory with 26 updates
Bump the go-modules group across 1 directory with 37 updates
paketo-buildpacks/npm-install #1025
build(deps): bump the go-modules group across 1 directory with 77 updates
cyrillesondag/paketo-buildpacks-pnpm #39
Bump the go-modules group across 1 directory with 90 updates
paketo-buildpacks/miniconda #655
chore(deps): Bump the production-dependencies group across 1 directory with 24 updates
Bump the go-modules group across 1 directory with 32 updates
paketo-buildpacks/npm-install #1022
build(deps): bump the go-modules group across 1 directory with 75 updates
cyrillesondag/paketo-buildpacks-pnpm #37
Bump the go-modules group across 1 directory with 29 updates
paketo-buildpacks/npm-install #1021
Bump the go-deps group with 3 updates
fluxcd/image-automation-controller #977
build(deps): bump the go-deps group with 10 updates
fluxcd/source-controller #1900
Bump the go-deps group with 3 updates
fluxcd/kustomize-controller #1526
Bump the go-modules group across 1 directory with 27 updates
paketo-buildpacks/npm-install #1019
build(deps): bump the go-modules group across 1 directory with 74 updates
cyrillesondag/paketo-buildpacks-pnpm #36
Bump the go-modules group across 1 directory with 25 updates
paketo-buildpacks/npm-install #1018
chore(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
pacphi/claude-code-agent-manager #19
[main](go): Bump the dependencies group with 5 updates
cloudfoundry/cli #3590
[v8](go): Bump the dependencies group with 5 updates
cloudfoundry/cli #3589
Bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0 in the all-gomod group
Thiht/go-stats #25
chore(deps): Bump the production-dependencies group across 1 directory with 20 updates
Bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0 in the all-updates group
chore(deps): bump the go group across 1 directory with 22 updates
open-component-model/ocm-controller #751
gomod(deps): Bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
unikraft/kraftkit #2485
chore(deps): bump the go-minor group with 5 updates
akuity/kargo #5121
Bump the go-modules group across 1 directory with 24 updates
paketo-buildpacks/npm-install #1017
chore(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
golanglib/dependabot_botherer #5992
Bump the go-modules group with 8 updates
paketo-buildpacks/node-engine #1313
Bump the go-modules group with 9 updates
paketo-buildpacks/pip-install #513
Bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
build(deps): bump the go-modules group across 1 directory with 73 updates
cyrillesondag/paketo-buildpacks-pnpm #35
Bump the go-modules group with 9 updates
paketo-buildpacks/cpython #1031
build(deps): bump the gomod group across 1 directory with 3 updates
cri-o/cri-o #9480
Bump the go-modules group with 9 updates
paketo-buildpacks/pipenv-install #527
Bump the go-modules group with 9 updates
paketo-buildpacks/yarn-install #1039
Bump the go-modules group across 1 directory with 88 updates
paketo-buildpacks/miniconda #652
build(deps): bump the gomod group across 1 directory with 27 updates
Nordix/cri-o #53
Bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
homeport/freeze-calendar-resource #178
build(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0
apptainer/apptainer #3151
chore(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.0 in the minor group
sylabs/singularity #3811
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 |