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
Bump the go-modules group across 1 directory with 43 updates
paketo-buildpacks/nginx #1079
Bump the go-modules group across 1 directory with 37 updates
Bump the go-modules group across 1 directory with 44 updates
paketo-buildpacks/go-dist #1181
Bump the go-modules group across 1 directory with 49 updates
paketo-buildpacks/poetry-install #525
Bump the go-modules group across 1 directory with 43 updates
Bump the go-modules group across 1 directory with 38 updates
paketo-buildpacks/dotnet-publish #846
Bump the go-modules group across 1 directory with 36 updates
paketo-buildpacks/dotnet-core-sdk #963
Bump the go-modules group across 1 directory with 44 updates
paketo-buildpacks/go-mod-vendor #993
chore(deps): bump github.com/cyphar/filepath-securejoin from 0.6.0 to 0.6.1
argoproj/argo-cd #25356
Bump the go-modules group across 1 directory with 44 updates
paketo-buildpacks/poetry-install #524
Bump the go-modules group across 1 directory with 36 updates
paketo-buildpacks/dotnet-publish #844
Bump the go-modules group across 1 directory with 41 updates
chore(deps): bump the go group across 1 directory with 19 updates
open-component-model/ocm-controller #778
Bump the go-modules group across 1 directory with 54 updates
paketo-buildpacks/pipenv-install #569
Bump the go-modules group across 1 directory with 96 updates
paketo-buildpacks/miniconda #679
Bump the go-modules group across 1 directory with 46 updates
paketo-buildpacks/poetry-install #519
Bump the go-modules group across 1 directory with 46 updates
paketo-buildpacks/npm-install #1065
Bump the go-modules group across 1 directory with 94 updates
paketo-buildpacks/miniconda #678
Bump the go-modules group across 1 directory with 43 updates
paketo-buildpacks/go-dist #1166
Bump the go-modules group across 1 directory with 44 updates
paketo-buildpacks/npm-install #1064
build(deps): bump the go-modules group across 1 directory with 93 updates
cyrillesondag/paketo-buildpacks-pnpm #59
Bump the go-modules group across 1 directory with 40 updates
paketo-buildpacks/npm-install #1063
Bump the go-modules group across 1 directory with 91 updates
paketo-buildpacks/miniconda #676
build(deps): bump the go-modules group across 1 directory with 91 updates
cyrillesondag/paketo-buildpacks-pnpm #57
Bump the go-modules group across 1 directory with 31 updates
paketo-buildpacks/go-dist #1161
Bump the go-modules group across 1 directory with 32 updates
paketo-buildpacks/poetry-install #513
Bump the go_modules group across 2 directories with 9 updates
github/vitess-gh #199
Bump the go-modules group across 1 directory with 29 updates
paketo-buildpacks/poetry-install #511
Bump the go-modules group across 1 directory with 29 updates
paketo-buildpacks/npm-install #1056
go: bump github.com/cyphar/filepath-securejoin from 0.5.1 to 0.6.0
inspektor-gadget/inspektor-gadget #5042
Bump the go-modules group with 6 updates
paketo-buildpacks/poetry-install #509
Bump the go-modules group with 5 updates
paketo-buildpacks/npm-install #1054
Bump the go-modules group with 5 updates
paketo-buildpacks/go-mod-vendor #970
build(deps): bump the go-modules group across 1 directory with 88 updates
cyrillesondag/paketo-buildpacks-pnpm #51
Bump the gomod group with 10 updates
open-cluster-management-io/governance-policy-addon-controller #230
Bump github.com/cyphar/filepath-securejoin from 0.5.0 to 0.6.0
NVIDIA/nvidia-container-toolkit #1406
Bump the go-modules group across 1 directory with 95 updates
chore(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.1
chore(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.5.1
argoproj/argo-cd #25143
chore(deps): bump the go-patch group with 7 updates
akuity/kargo #5327
build(deps): bump the go-deps group across 1 directory with 6 updates
fluxcd/source-controller #1928
Bump the go-modules group across 1 directory with 63 updates
paketo-buildpacks/npm-install #1043
chore(deps): bump the go group across 1 directory with 19 updates
open-component-model/ocm-controller #763
Bump the gomod group across 1 directory with 62 updates
open-cluster-management-io/governance-policy-addon-controller #223
Bump the gomod group with 64 updates
stolostron/governance-policy-addon-controller #1054
build(deps): bump the go-modules group across 1 directory with 86 updates
cyrillesondag/paketo-buildpacks-pnpm #48
Bump the go-modules group across 1 directory with 63 updates
paketo-buildpacks/npm-install #1040
Bump the go-modules group across 1 directory with 59 updates
paketo-buildpacks/npm-install #1038
build(deps): bump the go-modules group across 1 directory with 84 updates
cyrillesondag/paketo-buildpacks-pnpm #46
build(deps): bump the go-deps group across 1 directory with 5 updates
fluxcd/source-controller #1918
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 |