GHSA-h4mf-4v27-hggj: rclone WebDAV Credentials Survive A Same-Host Vulnerability
MODERATEGHSA-h4mf-4v27-hggj is a MODERATE (CVSS 5.3) webdav credentials survive a same-host vulnerability (CWE-319: Cleartext Transmission of Sensitive Information) affecting rclone libraries in the Go ecosystem. The issue involves webdav credentials survive a same-host https-to-http redirect. Remediation is available by upgrading affected packages to version 1.75.0.
GHSA-h4mf-4v27-hggj at a Glance
Security Impact
CVSS: 5.3
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N).
How to Fix GHSA-h4mf-4v27-hggj
To remediate this vulnerability, upgrade all affected rclone dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade github.com/rclone/rclone to 1.75.0
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for github.com/rclone/rclone
How to Check if You Are Affected
To determine whether your application is affected by GHSA-h4mf-4v27-hggj, inspect your project dependencies for rclone:
inspect dependencies for github.com/rclone/rclone
Analyze the terminal output to locate any version of rclone in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 1.75.0), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-319: Cleartext Transmission of Sensitive Information, where the product transmits sensitive or security-critical data in cleartext in a communication channel that can be sniffed by unauthorized actors. In rclone, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
GHSA-h4mf-4v27-hggj Affected rclone Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
github.com/rclone/rclone
|
Go |
< 1.75.0
|
1.75.0
|
References
Frequently Asked Questions
What is GHSA-h4mf-4v27-hggj?
Which rclone versions are affected?
What version fixes GHSA-h4mf-4v27-hggj?
Is github.com/rclone/rclone affected?
What is the CVSS score of GHSA-h4mf-4v27-hggj?
What CWE is associated with GHSA-h4mf-4v27-hggj?
How can I check Go dependencies for GHSA-h4mf-4v27-hggj?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-h4mf-4v27-hggj",
"modified" : "2026-08-05T20:36:10Z",
"published" : "2026-08-05T20:36:10Z",
"aliases" : [ ],
"summary" : "rclone: WebDAV Credentials Survive a Same-Host HTTPS-to-HTTP Redirect",
"details" : "## 1. Summary\n\nWebDAV's default redirect handling can replay Basic authorization and configured Cookie headers over plaintext HTTP after a same-host HTTPS-to-HTTP redirect. This was reproduced through the real backend. Unlike the low-impact STS token in rclone's published S3 redirect advisory, Basic passwords and session cookies are complete reusable credentials, supporting a High rating when they grant normal WebDAV read/write access.\n\nThe credible threat requires a legitimate endpoint, gateway, or accelerator to emit an unsafe redirect and an adjacent/on-path actor to observe the plaintext hop. A report should not rely on a malicious original WebDAV endpoint because that endpoint already receives the credentials.\n\n## 2. Affected Assets & Attack Surface\n\n- Backend configuration/authentication: `backend/webdav/webdav.go:127-139`, `170-206`, `440-530`\n- Shared redirect callback: `lib/rest/rest.go:218-231`\n- HTTP client: `fs/fshttp/http.go:311-329`\n- Credentials: Basic passwords, bearer authorization, SharePoint/session cookies, and configured secret headers\n- Confirmed affected version: `<= v1.74.0-240`\n\n## 3. Technical Root Cause Analysis\n\n`PreserveMethodRedirectFn` limits redirect count and restores the original method, but it does not reject a transport downgrade or compare the full origin tuple. The client therefore relies on Go's hostname-oriented sensitive-header forwarding rules. Those rules can preserve `Authorization` and Cookie on a same-host redirect even when the new scheme is plaintext HTTP.\n\n## 4. Proof-of-Concept & Evidence\n\n1. Configure the actual WebDAV backend with Basic credentials and a Cookie.\n2. Have the TLS endpoint return `307 Temporary Redirect` to an HTTP listener on the same hostname and a different port.\n3. rclone follows the redirect while preserving the WebDAV method.\n4. The plaintext listener receives both the Basic `Authorization` value and Cookie.\n\n## 5. Impact Assessment\n\nAn on-path observer can reuse the captured password, bearer token, or session cookie for the account's permitted WebDAV operations. Confidentiality, integrity, and availability impact depend on that account's permissions.\n\n## 6. Remediation Guidance\n\n- Reject every HTTPS-to-HTTP redirect before replay.\n- Forward authenticated requests by default only when scheme, hostname, and effective port are unchanged.\n- Strip authorization, cookies, proxy credentials, and configured secret headers on all other redirects.\n- Put necessary provider exceptions behind exact destination allowlists.\n- Cover `301`, `302`, `303`, `307`, and `308` in regression tests.",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Go",
"name" : "github.com/rclone/rclone"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "1.75.0"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 1.74.0"
}
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/rclone/rclone/security/advisories/GHSA-h4mf-4v27-hggj"
}, {
"type" : "WEB",
"url" : "https://github.com/rclone/rclone/commit/59b513b0e74fd2943ccbb8891d5ce00f860e6d26"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/rclone/rclone"
}, {
"type" : "WEB",
"url" : "https://github.com/rclone/rclone/releases/tag/v1.75.0"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-319", "CWE-522" ],
"severity" : "MODERATE",
"github_reviewed" : true,
"github_reviewed_at" : "2026-08-05T20:36:10Z",
"nvd_published_at" : null
}
}