Description
gopass before 1.17.0 contains a path traversal vulnerability in the filesystem storage backend that allows attackers to delete directories outside the password store via ../ entry names in Prune and IsDir. Collaborators with write access to a shared git-synced store can introduce crafted entries, causing a victim's recursive gopass rm -r to delete arbitrary directory trees.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| gopasspw | gopass | < 1.17.0 | 1.17.0 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | golang-github-gopasspw-gopass | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 24.04 LTS | gopass | No fix yet | — |
| Ubuntu 22.04 LTS | gopass | No fix yet | — |
| Ubuntu 20.04 LTS | gopass | No fix yet | — |
| Ubuntu 18.04 LTS | gopass | No fix yet | — |
References
- GitHub Security Advisory (GHSA-rw43-4vhf-hcvj) vendor-advisory
- https://github.com/gopasspw/gopass/commit/4f76ed537d8293ab88959a31a932dd9b3112a0a2 patch
- gopass v1.17.0 Release Notes release-notes
- https://github.com/gopasspw/gopass/blob/v1.16.1/internal/backend/storage/fs/store.go#L207-L226 technical-description
- VulnCheck Advisory: gopass before 1.17.0 Path Traversal via fs Storage Prune and IsDir third-party-advisory