Skip to main content

gopass EUVDEUVD-2026-112500

| CVE-2026-118756 MEDIUM
Path Traversal (CWE-22)
2026-10-28 VulnCheck GHSA-g69m-c6cf-wpcv
6.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain collaborator write access to shared store
  2. Delivery
    Commit entry named with ../ traversal sequences
  3. Exploit
    Victim pulls crafted entry via gopass sync
  4. Execution
    Victim runs recursive gopass rm -r
  5. Impact
    Prune os.RemoveAll deletes external directory tree

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires all of the following concrete conditions: (1) gopass is used with a shared, multi-user, git-synced password store (the single-user case has no untrusted entry source); (2) the attacker is a collaborator holding legitimate write access to that shared store; (3) the attacker creates an entry whose name embeds ../ path-traversal sequences, which reaches the victim through a normal git pull / gopass sync; (4) the victim executes the recursive delete command 'gopass rm -r <crafted entry>', whose name flows unvalidated into Store.Prune → os.RemoveAll. Limiting factors that reduce real-world risk: the vulnerable operation is local and needs explicit victim interaction (running recursive delete against the specific crafted entry), the attacker must already be a trusted write-capable store member, and the destructive impact is bounded by the filesystem write permissions of the user running gopass. Affected: gopass versions before 1.17.0 (<= 1.16.1); fixed in 1.17.0, which routes IsDir and Prune through the safePath containment check.

Impact

The vendor-assigned CVSS 4.0 score is 6.7 (Medium) with vector AV:L/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H, meaning a locally-triggered, low-complexity flaw with no confidentiality or integrity impact but high availability impact (destructive directory deletion). The defining tension is between delivery and trigger: the malicious payload (a crafted ../ entry name) is introduced remotely by a git collaborator and propagates through an ordinary gopass sync, yet the destructive action only fires when the victim locally runs 'gopass rm -r' against that entry - hence AV:L and mandatory user interaction (UI:A), not a remote push-button exploit. No EPSS score is provided in the input and the CVE is not listed in CISA KEV, so there is no evidence of active exploitation; exploitation status is 'no public exploit identified at time of analysis' (the GHSA advisory states a PoC exists but only 'available upon request', so no public exploit code is available). The vuln.today decision label is 'this_month', consistent with a patched Medium-severity destructive bug rather than an emergency. One signal to verify: the official vector uses PR:N, but real-world exploitation requires the attacker to be an authenticated collaborator with legitimate write access to the shared store, which is a genuine privilege prerequisite - treat the 'unauthenticated' implication of PR:N with caution. Overall this is a real but conditional priority: destructive and low-complexity once conditions are met, but gated behind multi-user shared-store usage, a malicious insider/collaborator, and a specific victim action. A fixed version (1.17.0) is available, so patching resolves it.

Exploit ScenarioDerived

A malicious collaborator with legitimate write access to a shared, git-synced gopass store commits a secret whose name contains ../ path-traversal segments. After the victim syncs the store (git pull / gopass sync) and runs the routine recursive delete 'gopass rm -r' against that entry, gopass's Prune calls os.RemoveAll on the escaped path and destroys an arbitrary directory tree outside the store root, bounded only by the victim's filesystem write permissions. The advisory references a proof-of-concept as available upon request, but no public exploit code is listed; exploitation is local (AV:L) and requires the victim to actively invoke the delete.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 28, 2026

Path traversal in gopass's filesystem storage backend lets a write-capable collaborator on a shared, git-synced password store plant a crafted entry name containing ../ sequences; when a victim runs gopass rm -r on that entry, Prune calls os.RemoveAll on a path outside the store root and can delete arbitrary directory trees the victim can write to. The issue affects gopass before 1.17.0 and is fixed in 1.17.0. Exploitation requires the victim to run recursive delete against the crafted entry, so it is local, interactive, and bounded by filesystem permissions; no confirmed public exploit code is identified, and the advisory states a PoC is available upon request.

RemediationAI

Upgrade to gopass 1.17.0, which routes IsDir and Prune through safePath and adds regression tests; the release tag is https://github.com/gopasspw/gopass/releases/tag/v1.17.0 and the fix commit is https://github.com/gopasspw/gopass/commit/4f76ed537d8293ab88959a31a932dd9b3112a0a2. No separate vendor workaround is documented. Until patched, the exposure is specific to multi-user git-synced stores, so restrict write access to trusted collaborators and avoid running gopass rm -r against entry names arriving from a shared store without inspecting them for ../ components, because the recursive delete path flows unvalidated into Prune and os.RemoveAll.

Affected VersionsENISA

gopass 0 <1.17.0

Affected Packages

euvd gopass fix: 1.17.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

gopass is a Go-based CLI password manager whose on-disk backend is internal/backend/storage/fs.Store. The backend has a safePath helper that validates a name resolves under the store root; Get, Set, Move, Delete, and Exists use it, but IsDir and Prune build paths with raw filepath.Join(s.path, filepath.Clean(name)), and Prune then calls os.RemoveAll. The call path from internal/store/leaf/move.go passes the entry name through deleteRecurse to storage.Prune unmodified except for trimming a leading separator, so no traversal validation occurs above the storage backend. This is CWE-22 and was addressed by routing IsDir and Prune through safePath and adjusting safePath to permit the store root itself. The vendor CVSS 4.0 score is 6.7 Medium with AV:L/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H; the independent assessed CVSS 3.1 vector is AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H, reflecting a locally triggered, low-complexity issue that requires collaborator write access and victim interaction, with no confidentiality or integrity impact and high availability impact from destructive directory deletion.

Know when Gopass gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.7 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 5.0 MEDIUM

Victim locally runs rm -r (AV:L/UI:R); attacker needs collaborator write access to the shared store (PR:L); arbitrary directory deletion yields A:H with no confidentiality or integrity read.

3.1 AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

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.

Threat Intelligence Overview

Prevalence
Low
niche CLI password manager used mainly by developer and devops teams
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy