GHSA-h4mf-4v27-hggj BIT-rclone-2026-79779 CVE-2026-79779 GO-2026-6197
rclone: WebDAV Credentials Survive a Same-Host HTTPS-to-HTTP Redirect
- Severity
- 6.0 / 10
- Medium · CVSS 4.0
- Exploit chance (EPSS)
- 0.11%
- Chance of exploitation in the next 30 days. Higher than 1.18% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-319 Cleartext Transmission of Sensitive Information
- CWE-522 Insufficiently Protected Credentials
- Fix
1.75.0- Upgrade github.com/rclone/rclone to this version or later
Description
1. Summary
WebDAV'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.
The 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.
2. Affected Assets & Attack Surface
- Backend configuration/authentication:
backend/webdav/webdav.go:127-139,170-206,440-530 - Shared redirect callback:
lib/rest/rest.go:218-231 - HTTP client:
fs/fshttp/http.go:311-329 - Credentials: Basic passwords, bearer authorization, SharePoint/session cookies, and configured secret headers
- Confirmed affected version:
<= v1.74.0-240
3. Technical Root Cause Analysis
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.
4. Proof-of-Concept & Evidence
- Configure the actual WebDAV backend with Basic credentials and a Cookie.
- Have the TLS endpoint return
307 Temporary Redirectto an HTTP listener on the same hostname and a different port. - rclone follows the redirect while preserving the WebDAV method.
- The plaintext listener receives both the Basic
Authorizationvalue and Cookie.
5. Impact Assessment
An 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.
6. Remediation Guidance
- Reject every HTTPS-to-HTTP redirect before replay.
- Forward authenticated requests by default only when scheme, hostname, and effective port are unchanged.
- Strip authorization, cookies, proxy credentials, and configured secret headers on all other redirects.
- Put necessary provider exceptions behind exact destination allowlists.
- Cover
301,302,303,307, and308in regression tests.
Affected versions
Go
| Package | Vulnerable | Fixed in |
|---|---|---|
| github.com/rclone/rclone | < 1.75.0 |
1.75.0 |
How to fix
Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.
github.com/rclone/rclone Go → 1.75.0
- go
go get github.com/rclone/rclone@v1.75.0 && go mod tidy
Severity breakdown
CVSS 4.0 6.0
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
- Attack vector
- Adjacent
- Attack complexity
- High
- Attack requirements
- Present
- Privileges required
- None
- User interaction
- None
- Confidentiality (vulnerable system)
- High
- Integrity (vulnerable system)
- None
- Availability (vulnerable system)
- None
- Confidentiality (subsequent systems)
- None
- Integrity (subsequent systems)
- None
- Availability (subsequent systems)
- None
- Exploit maturity
- Not defined
- Scope
- X
CVSS 3.1 5.3
CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
- Attack vector
- Adjacent
- Attack complexity
- High
- Privileges required
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Weakness
CWE-319: Cleartext Transmission of Sensitive Information
The product transmits sensitive or security-critical data in cleartext in a communication channel that can be sniffed by unauthorized actors.
How to prevent it
- Architecture and Design: Before transmitting, encrypt the data using reliable, confidentiality-protecting cryptographic protocols.
- Implementation: When using web applications with SSL, use SSL for the entire session from login to logout, not just for the initial login page.
- Implementation: When designing hardware platforms, ensure that approved encryption algorithms (such as those recommended by NIST) protect paths from security critical data to trusted user applications.
- Testing: Use tools and techniques that require manual (human) analysis, such as penetration testing, threat modeling, and interactive tools that allow the tester to record and modify an active session. These may be more effective than strictly automated techniques. This is especially the case with weaknesses that are related to design and business rules.
- Operation: Configure servers to use encrypted channels for communication, which may include SSL or other secure protocols.
CWE-522: Insufficiently Protected Credentials
The product transmits or stores authentication credentials, but it uses an insecure method that is susceptible to unauthorized interception and/or retrieval.
How to prevent it
- Architecture and Design: Use an appropriate security mechanism to protect the credentials.
- Architecture and Design: Make appropriate use of cryptography to protect the credentials.
- Implementation: Use industry standards to protect the credentials (e.g. LDAP, keystore, etc.).
References
Packages
Other links
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| GHSA-38xv-hf3p-h7mq rclone: source object names can escape the configured root on upload | Medium | Also affects github.com/rclone/rclone |
| GHSA-2p48-j3qc-rx9f rclone: S3 multipart declared-length memory exhaustion | High | Also affects github.com/rclone/rclone |
| GHSA-p569-5gjg-9cmj rclone: RC per-server auth-proxy bypass | Critical | Also affects github.com/rclone/rclone |
| GHSA-xwwr-4h3p-r22c rclone serve s3: --auth-proxy without --auth-key authenticates nobody - full SigV4 signature bypass | Critical | Also affects github.com/rclone/rclone |
| GHSA-c476-6w5q-jw77 rclone: FTP cross-session auth-proxy backend confusion | High | Also affects github.com/rclone/rclone |
| GHSA-f8g7-2xjc-7mfh rclone: Directory metadata (chmod/chown/chtimes) applied through a planted symlink in rclone local --links escapes the destination | High | Also affects github.com/rclone/rclone |
| GHSA-p6m2-r3w9-mpxw rclone local: crafted Range request against a translated symlink panics (DoS) | Medium | Also affects github.com/rclone/rclone |
| GHSA-66hp-wgxq-6f5q rclone archive/zip: Zip Slip via unsanitized zip entry names lets a malicious archive escape its own namespace | Medium | Also affects github.com/rclone/rclone |
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor