Severity by source
AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:L
Requires S3 bucket write access (PR:H); attack initiated remotely via S3 API (AV:N); impact confined to Fluentd process availability only (A:L, C:N, I:N).
Primary rating from Vendor (https://github.com/fluent/fluent-plugin-s3).
CVSS VectorVendor: https://github.com/fluent/fluent-plugin-s3
Lifecycle Timeline
2DescriptionCVE.org
The fluent-plugin-s3 plugin (specifically the in_s3 input plugin) supports reading and decompressing heavily compressed files (such as gzip, lzma2, and lzop) from Amazon S3. It was discovered that the plugin read the entire decompressed payload into memory at once without enforcing a strict size limit.
If an attacker has sufficient permissions to upload files to the monitored S3 bucket, they can upload a maliciously crafted, highly compressed file. When Fluentd attempts to decompress this file, it will expand to an excessive size and it will consume significant system resources.
Impact
This vulnerability allows for a Denial of Service (DoS) attack via memory exhaustion. The rapid memory consumption during decompression can lead to an Out-of-Memory kill of the Fluentd process by the operating system, This results in the disruption of all log collection on the affected node.
Patches
v1.8.5
Workarounds
If an immediate upgrade is not possible, mitigate the risk by applying strict IAM access controls:
- Restrict Bucket Access
- Ensure that write (PUT) access to the S3 bucket monitored by
in_s3is strictly limited to trusted services and administrators. Prevent any public or untrusted uploads to the S3 bucket.
AnalysisAI
Memory exhaustion via decompression bomb in fluent-plugin-s3's in_s3 input plugin enables an attacker with S3 bucket write access to crash the Fluentd log collection process. Versions 0.7.0 through 1.8.4 decompress gzip, lzma2, and lzop files from S3 into memory with no size cap, allowing a crafted high-ratio compressed payload to trigger an OS OOM kill and disrupt all log ingestion on the affected node. No public exploit has been identified at time of analysis, and the CVSS PR:H requirement tightly constrains real-world exploitability.
Technical ContextAI
The affected component is the in_s3 input plugin within the fluent-plugin-s3 RubyGem (CPE: pkg:rubygems/fluent-plugin-s3), used to ingest log files from Amazon S3 into Fluentd. The plugin supported multiple decompression backends - GzipExtractor (using Ruby's Zlib::GzipReader), GzipCommandExtractor, Lzma2Extractor (xz), and LzoExtractor - each of which read the full decompressed output into a Ruby String in memory before further processing. The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling): no maximum decompressed size was enforced, making any of these paths exploitable via a decompression bomb. The commit diff confirms that the fix (v1.8.5) introduces a decompression_size_limit parameter (default 256 MiB) enforced via chunked reads across all extractor backends, raising a SizeLimitError and aborting decompression when the limit is exceeded.
RemediationAI
Upgrade fluent-plugin-s3 to version 1.8.5, which is the vendor-released patch resolving this vulnerability. The fix introduces a configurable decompression_size_limit parameter (default: 256 MiB) that enforces chunked reads across all decompression backends; exceeding the limit raises a SizeLimitError and aborts processing. The patch commit is at https://github.com/fluent/fluent-plugin-s3/commit/e085aee001d15bcc4bd073507e74075e30550fd0 and the advisory is at https://github.com/fluent/fluent-plugin-s3/security/advisories/GHSA-xv9w-7v6q-hpjh. If immediate upgrade is not possible, restrict S3 bucket write (PUT) access to explicitly trusted IAM roles and service accounts only via IAM policies - this eliminates the attacker's upload vector entirely but requires ongoing IAM governance and does not address the underlying unbounded decompression behavior.
Same technique Denial Of Service
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-77705
GHSA-xv9w-7v6q-hpjh