/

CVE-2026-103398

Severity:

HIGH RISK

(8.1)

Path Traversal (CWE-73) in OpenSave Save Handler Routes

CVE-2026-103398

Deferred

Vulnerability type

Category:

Path Traversal

CWE:

CWE-73

Impact:

Unauthorized File Read and Write

Severity:

HIGH RISK

(8.1)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

OpenSave through version 2.4.0 does not properly validate save paths supplied by paired peers in manifest requests. An attacker may use manifest and synchronization routes to read or write files in directories outside the configured save locations.

Affected context

The vulnerability occurs in OpenSave deployments that accept save paths from paired peers through manifest or synchronization request handlers. Risk exists when those paths are trusted without being securely resolved and constrained to approved save directories.

Exploit preconditions

  • Attack surface: Manifest and synchronization routes exposed to paired peers
  • Required access: Ability to communicate with the affected OpenSave peer interface
  • Trigger point: Processing a manifest request containing a save path
  • Why exploitation is possible: Supplied paths may be accepted without effective validation against configured directory boundaries

Why this happens

The underlying bug is improper control over externally supplied file names or paths. When an application combines or resolves peer-provided paths without canonicalization and boundary enforcement, path references can escape the intended storage locations.

This maps to CWE-73: External Control of File Name or Path, commonly associated with path traversal and arbitrary file access caused by trusting attacker-influenced filesystem locations.

Potential impact

  • An attacker may read files outside configured save locations
  • An attacker may write or overwrite files in unauthorized directories
  • Sensitive credentials or application data could be exposed
  • Application integrity may be affected through unauthorized file modification
  • System compromise could become possible if writable files influence privileged processes

General mitigation guidance

Mitigation generally focuses on reducing trust in peer-supplied paths and enforcing filesystem boundaries.

Common defensive patterns include:

  • Resolve paths canonically before authorization checks
  • Permit only paths that remain beneath explicitly configured directories
  • Prefer server-selected identifiers or storage keys over raw client-supplied paths
  • Reject absolute paths, traversal components, and ambiguous path forms
  • Apply allowlists for permitted files and operations where practical
  • Run the service with the minimum filesystem permissions required
  • Separate readable and writable storage areas from sensitive system locations

How teams detect issues like this

Organizations can detect path-handling weaknesses through:

  • Static analysis for externally controlled values passed to filesystem APIs
  • Code review of path joins, canonicalization, and containment checks
  • Tests covering absolute paths, traversal components, symbolic links, and alternate path representations
  • Runtime monitoring for file access outside approved storage roots
  • Policy enforcement that restricts service identities to designated directories
  • Automated security review tools that flag untrusted path construction

Sources

SourceLink
gist.github.comgist.github.com/mansurmavlankulov/2ca66f95965fb9d4aab353bcf2434cdb
github.comgithub.com/Liquid-co/OpenSave
github.comgithub.com/Liquid-co/OpenSave/blob/v2.4.0/internal/delta/rootguard.go#L16-L30
github.comgithub.com/Liquid-co/OpenSave/blob/v2.4.0/internal/p2p/routes.go#L555-L566
vulncheck.comvulncheck.com/advisories/opensave-through-2.4.0-arbitrary-file-read-and-write-via-peer-controlled-save-path

Frequently asked

questions

It may be exploitable over the network when manifest or synchronization routes are reachable by an attacker who can interact as a paired peer. The exact scope depends on deployment exposure and peer-authentication controls.

The attacker generally needs access to the affected peer-facing request interface and the ability to submit or influence manifest path values.

Treat peer-supplied paths as untrusted, canonicalize them, and enforce that they remain within explicitly approved storage directories before any file operation.

Use storage identifiers instead of raw paths, apply least-privilege filesystem permissions, test path-boundary conditions, and monitor file operations for access outside approved locations.

Find out what's already
exploitable in your codebase.