ZeroHour

CVE-2026-88045

niche

Memory-exhaustion DoS in rclone serve s3 multipart handling

CVSS 3.1
7.5 high
EPSS
Published
()
Modified
AI analysis

rclone 1.75.0 contains a memory-allocation flaw (CWE-789) in the streamed multipart path of its `rclone serve s3` server: an attacker-controlled Content-Length or X-Amz-Decoded-Content-Length is passed to multipart.NewRW().Reserve before any body bytes are read, and the waitForTurn logic admits the current part plus one oversized part even when this exceeds the configured --multipart-streaming-buffer-limit, with the lib/pool allocator backing reservations in 1 MiB pages. A network client can therefore declare large multipart uploads and never send the declared bodies, retaining or multiplying memory reservations. The attacker gains remote denial of service - process or host memory exhaustion or permanently blocked request handlers - with no confidentiality or integrity impact (CVSS 3.1: 7.5, availability only). Anyone running `rclone serve s3` on an affected version is exposed: anonymous S3 deployments need no credentials, while deployments with auth_key require an accepted S3 key. There is no known exploitation, public proof-of-concept, or CISA KEV listing, and the flaw is fixed in rclone 1.75.1.

What to do: Upgrade to rclone 1.75.1. If immediate upgrade is not possible, restrict access to `rclone serve s3` endpoints to trusted networks, require an auth_key so anonymous clients cannot trigger the condition, and monitor process/host memory and hung request handlers. Inventory your estate for deployments running rclone 1.75.0 with the S3 server enabled, prioritizing anonymous (unauthenticated) deployments.

Affected
rclone (serve s3 / cmd/serve/s3)>= 1.75.0 and < 1.75.1 (fixed in 1.75.1)
Estimated exposure
nichelikely on the order of thousands of affected deployments at most (only instances running rclone 1.75.0 with the serve s3 S3-server mode enabled) — rclone has a very large overall user base, but exposure is limited to the narrow 1.75.0-to-1.75.1 one-release window and to the less-common `rclone serve s3` server use case rather than rclone's dominant client/sync usage, so the exposed…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

rclone is a command-line program to sync files and directories to and from different cloud storage providers. From 1.75.0 until 1.75.1, the serve S3 streamed multipart path in cmd/serve/s3/multipart.go passes attacker-controlled contentLength to multipart.NewRW().Reserve before reading request-body bytes. waitForTurn admits the current part and one oversized part when the buffer is empty despite --multipart-streaming-buffer-limit, and lib/pool allocates 1 MiB pages according to Content-Length or X-Amz-Decoded-Content-Length. A network client can retain or multiply these reservations without sending the declared body, exhausting process or host memory or permanently blocking request handlers. Anonymous S3 deployments require no credentials, while deployments using auth_key require an accepted S3 key. This issue is fixed in version 1.75.1.

Ecosystems
go
Weakness
CWE-789
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
GHSA
GHSA-2p48-j3qc-rx9f (high)

In the news

No ingested article mentions this CVE yet.