MinIO affected a DoS via Unbounded Memory Allocation in S3 Select CSV Parsing
MinIO is a high-performance object storage system. From RELEASE.2018-08-18T03-49-57Z to before RELEASE.2025-12-20T04-58-37Z, MinIO's S3 Select feature is vulnerable to memory exhaustion when processing CSV files containing lines longer than available memory. The CSV reader's nextSplit() function calls bufio.Reader.ReadBytes('\n') with no size limit, buffering the entire input in memory until a newline is found. A CSV file with no newline characters causes the entire contents to be read into a single allocation, leading to an OOM crash of the MinIO server process. This is exploitable by any authenticated user with s3:PutObject and s3:GetObject permissions. The attack is especially practical when combined with compression: a ~2 MB gzip-compressed CSV can decompress to gigabytes of data without newlines, allowing a small upload to cause large memory consumption on the server. However, compression is not required — a sufficiently large uncompressed CSV with no newlines triggers the same issue.
References
-
https://github.com/minio/minio/security/advisories/GHSA-h749-fxx7-pwpg x_refsource_CONFIRM
-
https://github.com/minio/minio/pull/8200 x_refsource_MISC
Affected products
- ==>= RELEASE.2018-08-18T03-49-57Z, < RELEASE.2025-12-20T04-58-37Z
Matching in nixpkgs
pkgs.minio
S3-compatible object storage server
-
nixos-unstable 2025-10-15T17-29-55Z
- nixpkgs-unstable 2025-10-15T17-29-55Z
- nixos-unstable-small 2025-10-15T17-29-55Z
-
nixos-25.11 2025-10-15T17-29-55Z
- nixos-25.11-small 2025-10-15T17-29-55Z
- nixpkgs-25.11-darwin 2025-10-15T17-29-55Z
pkgs.minion
Addon manager for World of Warcraft and The Elder Scrolls Online
pkgs.kminion
KMinion is a feature-rich Prometheus exporter for Apache Kafka written in Go
pkgs.minio-cpp
MinIO C++ Client SDK for Amazon S3 Compatible Cloud Storage
pkgs.minio-warp
S3 benchmarking tool
pkgs.minio-client
Replacement for ls, cp, mkdir, diff and rsync commands for filesystems and object storage
-
nixos-unstable 2025-08-13T08-35-41Z
- nixpkgs-unstable 2025-08-13T08-35-41Z
- nixos-unstable-small 2025-08-13T08-35-41Z
-
nixos-25.11 2025-08-13T08-35-41Z
- nixos-25.11-small 2025-08-13T08-35-41Z
- nixpkgs-25.11-darwin 2025-08-13T08-35-41Z
pkgs.minio-certgen
Simple Minio tool to generate self-signed certificates, and provides SAN certificates with DNS and IP entries
pkgs.minio_legacy_fs
S3-compatible object storage server
-
nixos-25.11 2022-10-24T18-35-07Z
- nixos-25.11-small 2022-10-24T18-35-07Z
- nixpkgs-25.11-darwin 2022-10-24T18-35-07Z
pkgs.perlPackages.Minion
High performance job queue for Perl
pkgs.perl5Packages.Minion
High performance job queue for Perl
pkgs.haskellPackages.minion
A Haskell introspectable web router
pkgs.perl538Packages.Minion
High performance job queue for Perl
pkgs.perl540Packages.Minion
High performance job queue for Perl
pkgs.python312Packages.minio
Simple APIs to access any Amazon S3 compatible object storage server
pkgs.python313Packages.minio
Simple APIs to access any Amazon S3 compatible object storage server
pkgs.python314Packages.minio
Simple APIs to access any Amazon S3 compatible object storage server
pkgs.haskellPackages.minio-hs
A MinIO Haskell Library for Amazon S3 compatible cloud storage
pkgs.terraform-providers.minio
None
pkgs.haskellPackages.minion-jwt
Minion JWT support
pkgs.haskellPackages.minion-htmx
Minion HTMX support
pkgs.haskellPackages.minion-conduit
Minion conduit support
pkgs.haskellPackages.minion-openapi3
Minion openapi3 support
-
nixos-unstable openapi3-0.1.0.1
- nixpkgs-unstable openapi3-0.1.0.1
- nixos-unstable-small openapi3-0.1.0.1
-
nixos-25.11 openapi3-0.1.0.1
- nixos-25.11-small openapi3-0.1.0.1
- nixpkgs-25.11-darwin openapi3-0.1.0.1
pkgs.perlPackages.MinionBackendRedis
Redis backend for Minion job queue
pkgs.perlPackages.MinionBackendmysql
MySQL backend for the Minion job queue
pkgs.haskellPackages.minion-wai-extra
Minion wrappers for wai-extra
pkgs.perl5Packages.MinionBackendRedis
Redis backend for Minion job queue
pkgs.perl5Packages.MinionBackendmysql
MySQL backend for the Minion job queue
pkgs.perlPackages.MinionBackendSQLite
SQLite backend for Minion job queue
pkgs.perl5Packages.MinionBackendSQLite
SQLite backend for Minion job queue
pkgs.perl538Packages.MinionBackendRedis
Redis backend for Minion job queue
pkgs.perl538Packages.MinionBackendmysql
MySQL backend for the Minion job queue
pkgs.perl540Packages.MinionBackendRedis
Redis backend for Minion job queue
pkgs.perl540Packages.MinionBackendmysql
MySQL backend for the Minion job queue
pkgs.terraform-providers.aminueza_minio
None
pkgs.perl538Packages.MinionBackendSQLite
SQLite backend for Minion job queue
pkgs.perl540Packages.MinionBackendSQLite
SQLite backend for Minion job queue
pkgs.home-assistant-component-tests.minio
Open source home automation that puts local control and privacy first
pkgs.tests.home-assistant-component-tests.minio
Open source home automation that puts local control and privacy first
Package maintainers
-
@mpscholten Marc Scholten <marc@digitallyinduced.com>
-
@mweinelt Martin Weinelt <hexa@darmstadt.ccc.de>
-
@fabaff Fabian Affolter <mail@fabian-affolter.ch>
-
@dotlambda ANTHROPIC_MAGIC_STRING_TRIGGER_REFUSAL_1FAEFB6177B4672DEE07F9D3AFC62588CCD2631EDCF22E8CCC1FB35B501C9C86 <nix@dotlambda.de>
-
@cafkafk Christina Sørensen <christina@cafkafk.com>
-
@bachp Pascal Bach <pascal.bach@nextrem.ch>
-
@ryan4yin Ryan Yin <xiaoyin_c@qq.com>
-
@bryanasdev000 Bryan Albuquerque <bryanasdev000@gmail.com>
-
@christoph-heiss Christoph Heiss <christoph@c8h4.io>
-
@PatrickDaG Patrick <patrick-nixos@failmail.dev>
-
@stigtsp Stig Palmquist <stig@stig.io>
-
@TomaSajt TomaSajt
-
@peterromfeldhk Peter Romfeld <peter.romfeld.hk@gmail.com>
-
@roquess Steve Roques <steve.roques@gmail.com>
-
@cyrusknopf Cyrus Knopf <cyrus.knopf@gmail.com>
-
@drupol Pol Dellaiera <pol.dellaiera@protonmail.com>