rclone: source object names can escape the configured root on upload
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 sourcePublished 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"
}