An open index of dependabot pull requests across open source projects.

github.com/cyphar/filepath-securejoin

Ecosystem:
go
Package URL:
pkg:golang/github.com/cyphar/filepath-securejoin
Total PRs:
247 Dependabot PRs
Latest PR:
22 days ago
Unique Repositories:
93 repositories
Unique Repos (30 days):
2 repositories
Recent PRs (filtered by: Minor PRs )
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

1

Active advisories
MODERATE 1
View All golang Advisories
Package Information
Description:

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
PR Status
Open 111 (44.9%)
Merged 23 (9.3%)
Closed 101 (40.9%)
PR Types
Minor 182 (73.7%)
Patch 53 (21.5%)