---
id: CVE-2026-93987
title: >-
  rclone versions 1.56.0 through 1.75.0 contain a path traversal vulnerability
  in the `rclone serve docker` volume plugin
summary: >-
  rclone versions 1.56.0 through 1.75.0 contain a path traversal vulnerability
  in the `rclone serve docker` volume plugin. newVolume() in
  cmd/serve/docker/volume.go computes a volume's mountpoint as
  filepath.Join(drv.root, name) from the a…
severity: low
cvss: 3.4
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:L'
cwe:
  - CWE-73
vendor: rclone
product: rclone
affected:
  - rclone >= 1.56.0 < 1.75.1
published: '2026-09-19'
updated: '2026-09-22'
sourceUpdated: '2026-09-22T20:25:55.870'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-93987'
references:
  - url: 'https://github.com/rclone/rclone/security/advisories/GHSA-p6vx-hf7p-98j6'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/rclone-serve-docker-path-traversal-via-volume-name
    label: disclosure@vulncheck.com
  - url: 'https://github.com/rclone/rclone/security/advisories/GHSA-p6vx-hf7p-98j6'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-93987.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-93987'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-93987'
tags:
  - nvd
  - cve.org
  - exploit-available
  - csaf
  - vex
  - red-hat
  - score-dispute
epss: 0.00151
epssPercentile: 0.03516
exploitAvailable: true
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-09-21T18:28:40.978217Z'
ingestedAt: '2026-09-19T12:02:33.561Z'
scores:
  nvd: 3.4
  vendor: 7.9
---

## Overview

rclone versions 1.56.0 through 1.75.0 contain a path traversal vulnerability in the `rclone serve docker` volume plugin. newVolume() in cmd/serve/docker/volume.go computes a volume's mountpoint as filepath.Join(drv.root, name) from the attacker-supplied `name` field of a Docker VolumeDriver.Create request without verifying that the result stays within drv.root (default /var/lib/docker-volumes/rclone), and checkMountpoint() then creates that directory with file.MkdirAll before mounting. A volume name containing enough `..` components (e.g. "../../../../../../etc") therefore resolves outside the base directory, allowing anyone able to submit a VolumeDriver.Create request to the plugin socket — normally the Docker daemon, or a workload that can request named volumes in a multi-tenant orchestration setup — to make the privileged rclone plugin process create a directory and mount a remote filesystem specified in the same request at an arbitrary host path, shadowing or disrupting system directories. The advisory notes Volume.restoreState() had the same missing validation when reloading persisted volume state. Fixed in 1.75.1.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **Red Hat VEX** · updated 2026-09-23 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-93987.json)
