Skip to content
Heist/ feed
Back to feed
Medium

rclone: source object names can escape the configured root on upload

Type: advisorySources: OSV

rclone is a command-line program to sync files and directories to and from different cloud storage providers. Prior to 1.75.1, rclone core does not reject parent-directory segments in source Object.Remote() values before fs/list, fs/walk, fs/sync, and fs/operations pass those values to destination backends. A flat-keyspace source object store populated with native non-rclone tooling can contain a raw .. key segment, and affected b2, swift, qingstor, oracleobjectstorage, internetarchive, smb, storj, sftp, webdav, ftp, filelu, shade, and sia destinations use path.Join(root, remote) before EncodeDot can neutralize the segment. A copy or upload can therefore escape the configured root into another bucket, share, or path reachable by the victim credential, with sftp and smb potentially reaching other filesystem or share locations under the same login authority. This issue is fixed in version 1.75.1.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-88046
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 17:23 UTC · Revision 1

Source evidence

rclone: source object names can escape the configured root on upload

core-osv · Original source

Published 10 Sept 2026, 16:14 UTC

rclone is a command-line program to sync files and directories to and from different cloud storage providers. Prior to 1.75.1, rclone core does not reject parent-directory segments in source Object.Remote() values before fs/list, fs/walk, fs/sync, and fs/operations pass those values to destination backends. A flat-keyspace source object store populated with native non-rclone tooling can contain a raw .. key segment, and affected b2, swift, qingstor, oracleobjectstorage, internetarchive, smb, storj, sftp, webdav, ftp, filelu, shade, and sia destinations use path.Join(root, remote) before EncodeDot can neutralize the segment. A copy or upload can therefore escape the configured root into another bucket, share, or path reachable by the victim credential, with sftp and smb potentially reaching other filesystem or share locations under the same login authority. This issue is fixed in version 1.75.1.

osv:CVE-2026-88046
Complete source record
{
  "id": "42d23a790c734fdd3000dfdcc4873c87d3d0302cea4abf233c8b9df9ec2cb6c7",
  "url": "https://osv.dev/vulnerability/CVE-2026-88046",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "rclone: source object names can escape the configured root on upload",
    "summary": "rclone is a command-line program to sync files and directories to and from different cloud storage providers. Prior to 1.75.1, rclone core does not reject parent-directory segments in source Object.Remote() values before fs/list, fs/walk, fs/sync, and fs/operations pass those values to destination backends. A flat-keyspace source object store populated with native non-rclone tooling can contain a raw .. key segment, and affected b2, swift, qingstor, oracleobjectstorage, internetarchive, smb, storj, sftp, webdav, ftp, filelu, shade, and sia destinations use path.Join(root, remote) before EncodeDot can neutralize the segment. A copy or upload can therefore escape the configured root into another bucket, share, or path reachable by the victim credential, with sftp and smb potentially reaching other filesystem or share locations under the same login authority. This issue is fixed in version 1.75.1.",
    "evidence": "osv:CVE-2026-88046",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-88046",
      "aliases": [
        "BIT-rclone-2026-88046",
        "CVE-2026-88046",
        "GHSA-38xv-hf3p-h7mq",
        "GO-2026-6457"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/rclone/rclone",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "687d264b689b8c49a67e2e52a8a5e0caa01c04ce"
                },
                {
                  "fixed": "57842c5ee4e1407eda06a414a36510cce2db4252"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.75.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "57842c5ee4e1407eda06a414a36510cce2db4252"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "687d264b689b8c49a67e2e52a8a5e0caa01c04ce"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v1.75.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.75.0",
            "v1.74.0",
            "v1.73.0",
            "v1.72.0",
            "v1.71.0",
            "v1.70.0",
            "v1.69.0",
            "v1.68.0",
            "v1.67.0",
            "v1.66.0",
            "v1.65.0",
            "v1.64.0",
            "v1.63.0",
            "v1.62.0",
            "v1.61.0",
            "v1.60.0",
            "v1.59.0",
            "v1.58.0",
            "v1.57.0",
            "v1.56.0",
            "v1.55.0",
            "v1.54.0",
            "v1.53.0",
            "v1.52.0",
            "v1.51.0",
            "v1.50.0",
            "v1.49.0",
            "v1.48.0",
            "v1.47.0",
            "v1.46.0",
            "v1.46",
            "v1.45",
            "v1.44",
            "v1.43",
            "v1.42",
            "v1.41",
            "v1.40",
            "v1.39",
            "v1.38",
            "v1.37",
            "v1.36",
            "v1.35",
            "v1.34",
            "v1.33",
            "v1.32",
            "v1.31",
            "v1.30",
            "v1.29-1-gbb75d80",
            "v1.29",
            "v1.28",
            "v1.27",
            "v1.26",
            "v1.25",
            "v1.24",
            "v1.23",
            "v1.22",
            "v1.21",
            "v1.20",
            "v1.19",
            "v1.18",
            "v1.17",
            "v1.16",
            "v1.15",
            "v1.14",
            "v1.13",
            "v1.12",
            "v1.11",
            "v1.10",
            "v1.09",
            "v1.08",
            "v1.07",
            "v1.06",
            "v1.05",
            "v1.04",
            "v1.03",
            "v1.01",
            "v1.00",
            "v0.99",
            "v0.98",
            "v0.97",
            "v0.96",
            "v0.95",
            "v0.94",
            "v0.93",
            "v0.92",
            "v0.91",
            "v0.90"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-88046.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:21.357024078Z",
      "provider": "osv",
      "references": [
        "https://github.com/rclone/rclone/releases/tag/v1.75.1",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/88xxx/CVE-2026-88046.json",
        "https://github.com/rclone/rclone/security/advisories/GHSA-38xv-hf3p-h7mq",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-88046",
        "https://github.com/rclone/rclone/commit/57842c5ee4e1407eda06a414a36510cce2db4252"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-22"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/88xxx/CVE-2026-88046.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-88046",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 487720,
  "published_at": "2026-09-10T16:14:49.587+00:00"
}