{"id":"CVE-2026-79779","aliases":["BIT-rclone-2026-79779","DEBIAN-CVE-2026-79779","EUVD-2026-65537","GHSA-9mph-vxjp-r3rx","GHSA-h4mf-4v27-hggj","GO-2026-6197","UBUNTU-CVE-2026-79779"],"status":"published","title":"rclone before v1.75.0 WebDAV Credential Exposure via HTTPS-to-HTTP Redirect","description":"rclone versions before v1.75.0 fail to reject transport downgrades in redirect handling, allowing Basic authorization and Cookie headers to be replayed over plaintext HTTP after same-host HTTPS-to-HTTP redirects. An on-path attacker observing the plaintext hop can capture and reuse credentials to perform WebDAV operations with the compromised account's permissions.","severity":{"version":"4.0","score":6,"vector":"CVSS:4.0/AV:A/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00108,"percentile":0.01192,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-319","CWE-522"],"published":"2026-08-05T20:36:10Z","modified":"2026-10-28T02:31:09Z","fixes":[{"ecosystem":"Go","package":"github.com/rclone/rclone","fixed_in":["1.75.0"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"rclone","fixed_in":["1.75.0"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/rclone/rclone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"1.74.0"},{"fixed":"1.75.0"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"rclone","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.75.0"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"rclone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.60.1+dfsg-2","1.60.1+dfsg-3","1.60.1+dfsg-4","1.65.0+dfsg-1","1.65.0+dfsg-2","1.69.3+dfsg-1","1.69.3+dfsg-2","1.69.3+dfsg-3"]},{"source":"osv","ecosystem":"Debian:13","package":"rclone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.60.1+dfsg-4","1.65.0+dfsg-1","1.65.0+dfsg-2","1.69.3+dfsg-1","1.69.3+dfsg-2","1.69.3+dfsg-3"]},{"source":"osv","ecosystem":"Go","package":"github.com/rclone/rclone","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.75.0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/rclone/rclone","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.75.0"}]}]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"rclone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.36-3","1.36-3ubuntu0.1","1.36-3ubuntu0.2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"rclone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.47.0+ex1-6","1.47.0+ex1-7","1.49.5-2","1.49.5-3","1.50.2-2","1.50.2-2ubuntu0.1","1.50.2-2ubuntu0.2","1.50.2-2ubuntu0.2+esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"rclone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.53.3-1","1.53.3-2","1.53.3-4","1.53.3-4ubuntu1","1.53.3-4ubuntu1.22.04.1","1.53.3-4ubuntu1.22.04.2","1.53.3-4ubuntu1.22.04.3","1.53.3-4ubuntu1.22.04.3+esm1","1.53.3-4ubuntu1.22.04.4","1.53.3-4ubuntu1.22.04.4+esm1","1.53.3-4ubuntu1.22.04.5","1.53.3-4ubuntu1.22.04.5+esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:24.04:LTS","package":"rclone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.60.1+dfsg-2build1","1.60.1+dfsg-3","1.60.1+dfsg-3ubuntu0.24.04.1","1.60.1+dfsg-3ubuntu0.24.04.2","1.60.1+dfsg-3ubuntu0.24.04.3","1.60.1+dfsg-3ubuntu0.24.04.4","1.60.1+dfsg-3ubuntu0.24.04.4+esm1","1.60.1+dfsg-3ubuntu0.24.04.5","1.60.1+dfsg-3ubuntu0.24.04.5+esm1","1.60.1+dfsg-3ubuntu0.24.04.6","1.60.1+dfsg-3ubuntu0.24.04.6+esm1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"rclone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.60.1+dfsg-4ubuntu3","1.69.3+dfsg-3","1.69.3+dfsg-3ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:26.04:LTS","package":"rclone","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.60.1+dfsg-4ubuntu2","1.60.1+dfsg-4ubuntu3","1.60.1+dfsg-4ubuntu3.1","1.60.1+dfsg-4ubuntu3.1+esm1","1.60.1+dfsg-4ubuntu3.2","1.60.1+dfsg-4ubuntu3.2+esm1"]}],"products":[{"vendor":"rclone","product":"rclone"}],"references":[{"url":"https://github.com/rclone/rclone/security/advisories/GHSA-h4mf-4v27-hggj","tags":["vendor-advisory","web","advisory","report"]},{"url":"https://www.vulncheck.com/advisories/rclone-before-webdav-credential-exposure-via-https-to-http-redirect","tags":["third-party-advisory","web","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-79779","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-9mph-vxjp-r3rx"},{"url":"https://github.com/rclone/rclone/commit/59b513b0e74fd2943ccbb8891d5ce00f860e6d26","tags":["web","fix"]},{"url":"https://github.com/rclone/rclone/releases/tag/v1.75.0","tags":["web"]},{"url":"https://github.com/advisories/GHSA-h4mf-4v27-hggj"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/79xxx/CVE-2026-79779.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-79779","tags":["advisory"]},{"url":"https://github.com/rclone/rclone","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2026-79779","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-79779","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-79779","title":"rclone before v1.75.0 WebDAV Credential Exposure via HTTPS-to-HTTP Redirect","description":"rclone versions before v1.75.0 fail to reject transport downgrades in redirect handling, allowing Basic authorization and Cookie headers to be replayed over plaintext HTTP after same-host HTTPS-to-HTTP redirects. An on-path attacker observing the plaintext hop can capture and reuse credentials to perform WebDAV operations with the compromised account's permissions.","status":"published","published":"2026-08-25T15:16:09.11Z","modified":"2026-08-27T16:45:55.566Z","cvss":[{"version":"4.0","score":6,"vector":"CVSS:4.0/AV:A/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"medium","assessor":"cna"},{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-319"],"updated_at":"2026-11-02T13:50:27.582139Z"}],"euvd":[{"id":"EUVD-2026-65537","description":"rclone versions before v1.75.0 fail to reject transport downgrades in redirect handling, allowing Basic authorization and Cookie headers to be replayed over plaintext HTTP after same-host HTTPS-to-HTTP redirects. An on-path attacker observing the plaintext hop can capture and reuse credentials to perform WebDAV operations with the compromised account's permissions.","status":"published","published":"2026-08-25T15:16:09Z","modified":"2026-08-27T16:45:55Z","cvss":[{"version":"4.0","score":6,"vector":"CVSS:4.0/AV:A/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"medium"}],"updated_at":"2026-11-02T18:01:27.27583Z"}],"ghsa":[{"id":"GHSA-9mph-vxjp-r3rx","title":"rclone versions before v1.75.0 fail to reject transport downgrades in redirect handling, allowing...","description":"rclone versions before v1.75.0 fail to reject transport downgrades in redirect handling, allowing Basic authorization and Cookie headers to be replayed over plaintext HTTP after same-host HTTPS-to-HTTP redirects. An on-path attacker observing the plaintext hop can capture and reuse credentials to perform WebDAV operations with the compromised account's permissions.","status":"published","published":"2026-08-25T18:31:54Z","modified":"2026-08-25T18:32:01Z","cvss":[{"version":"4.0","score":6,"vector":"CVSS:4.0/AV:A/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"medium"},{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-319"],"updated_at":"2026-11-02T15:10:57.962573Z"},{"id":"GHSA-h4mf-4v27-hggj","title":"rclone: WebDAV Credentials Survive a Same-Host HTTPS-to-HTTP Redirect","description":"## 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 \u0026 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: `\u003c= 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 \u0026 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.","status":"published","published":"2026-08-05T20:36:10Z","modified":"2026-08-05T20:36:10Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-319","CWE-522"],"updated_at":"2026-11-02T14:40:57.999375Z"}],"nvd":[{"id":"CVE-2026-79779","description":"rclone versions before v1.75.0 fail to reject transport downgrades in redirect handling, allowing Basic authorization and Cookie headers to be replayed over plaintext HTTP after same-host HTTPS-to-HTTP redirects. An on-path attacker observing the plaintext hop can capture and reuse credentials to perform WebDAV operations with the compromised account's permissions.","status":"published","published":"2026-08-25T16:17:29.807Z","modified":"2026-09-10T20:46:19.78Z","cvss":[{"version":"4.0","score":6,"vector":"CVSS:4.0/AV:A/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"medium","assessor":"secondary"},{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-319"],"updated_at":"2026-11-02T14:12:41.347728Z"}],"osv":[{"id":"CVE-2026-79779","title":"rclone before v1.75.0 WebDAV Credential Exposure via HTTPS-to-HTTP Redirect","description":"rclone versions before v1.75.0 fail to reject transport downgrades in redirect handling, allowing Basic authorization and Cookie headers to be replayed over plaintext HTTP after same-host HTTPS-to-HTTP redirects. An on-path attacker observing the plaintext hop can capture and reuse credentials to perform WebDAV operations with the compromised account's permissions.","status":"published","published":"2026-08-25T15:16:09.11Z","modified":"2026-10-28T02:31:09.768849885Z","cvss":[{"version":"4.0","score":6,"vector":"CVSS:4.0/AV:A/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-319"],"updated_at":"2026-11-02T15:45:17.44708Z"},{"id":"DEBIAN-CVE-2026-79779","description":"rclone versions before v1.75.0 fail to reject transport downgrades in redirect handling, allowing Basic authorization and Cookie headers to be replayed over plaintext HTTP after same-host HTTPS-to-HTTP redirects. An on-path attacker observing the plaintext hop can capture and reuse credentials to perform WebDAV operations with the compromised account's permissions.","status":"published","published":"2026-08-25T16:17:29.807Z","modified":"2026-10-01T03:03:47.198818287Z","cvss":[{"version":"4.0","score":6,"vector":"CVSS:4.0/AV:A/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"medium"}],"updated_at":"2026-11-02T15:46:04.001673Z"},{"id":"GHSA-h4mf-4v27-hggj","title":"rclone: WebDAV Credentials Survive a Same-Host HTTPS-to-HTTP Redirect","description":"## 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 \u0026 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: `\u003c= 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 \u0026 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.","status":"published","published":"2026-08-05T20:36:10Z","modified":"2026-09-25T14:25:56.710601399Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-319","CWE-522"],"updated_at":"2026-11-02T15:46:48.546324Z"},{"id":"UBUNTU-CVE-2026-79779","description":"rclone versions before v1.75.0 fail to reject transport downgrades in redirect handling, allowing Basic authorization and Cookie headers to be replayed over plaintext HTTP after same-host HTTPS-to-HTTP redirects. An on-path attacker observing the plaintext hop can capture and reuse credentials to perform WebDAV operations with the compromised account's permissions.","status":"published","published":"2026-08-25T16:17:00Z","modified":"2026-10-17T13:01:09.54632155Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"medium"},{"version":"4.0","score":6,"vector":"CVSS:4.0/AV:A/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"medium"}],"updated_at":"2026-11-02T16:57:18.015985Z"},{"id":"BIT-rclone-2026-79779","title":"rclone before v1.75.0 WebDAV Credential Exposure via HTTPS-to-HTTP Redirect","description":"rclone versions before v1.75.0 fail to reject transport downgrades in redirect handling, allowing Basic authorization and Cookie headers to be replayed over plaintext HTTP after same-host HTTPS-to-HTTP redirects. An on-path attacker observing the plaintext hop can capture and reuse credentials to perform WebDAV operations with the compromised account's permissions.","status":"published","published":"2026-09-25T12:30:11.727Z","modified":"2026-09-25T14:25:56.710601399Z","updated_at":"2026-11-02T15:28:35.111822Z"},{"id":"GO-2026-6197","title":"WebDAV credential leakage on HTTPS to HTTP redirect in github.com/rclone/rclone","description":"WebDAV credential leakage on HTTPS to HTTP redirect in github.com/rclone/rclone","status":"published","published":"2026-08-18T16:38:10Z","modified":"2026-09-25T14:25:56.710601399Z","updated_at":"2026-11-02T15:47:03.11707Z"}]}}
