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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- Not specified
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 28 Oct 2026, 09:01 UTC · Revision 1
Source evidence
MinIO affected a DoS via Unbounded Memory Allocation in S3 Select CSV Parsing
core-osv · Original sourcePublished 13 Apr 2026, 10:10 UTC
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.
osv:BIT-minio-2026-39414
minio
Fixed versions: 2026.04.10
Complete source record
{
"id": "583e999381e6380a261a683a8447ffef66ebce7d25275fd398fa499c4b6a156c",
"url": "https://osv.dev/vulnerability/BIT-minio-2026-39414",
"method": "structured",
"payload": {
"kind": "withdrawal",
"title": "MinIO affected a DoS via Unbounded Memory Allocation in S3 Select CSV Parsing",
"summary": "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.",
"evidence": "osv:BIT-minio-2026-39414",
"products": [
{
"name": {
"value": "minio",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2026.04.10",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "BIT-minio-2026-39414",
"aliases": [
"BIT-minio-2026-39414"
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "2018.08.18"
},
{
"fixed": "2026.04.10"
}
]
}
],
"package": {
"name": "minio",
"purl": "pkg:bitnami/minio",
"ecosystem": "Bitnami"
},
"severity": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/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"
}
],
"database_specific": {
"source": "https://github.com/bitnami/vulndb/tree/main/data/minio/BIT-minio-2026-39414.json"
}
}
],
"modified": "2026-10-08T08:11:02.807693949Z",
"provider": "osv",
"references": [
"https://docs.min.io/enterprise/aistor-object-store/upgrade-aistor-server/community-edition",
"https://github.com/minio/minio/commit/7c14cdb60e53dbfdad2be644dfb180cab19fffa7",
"https://github.com/minio/minio/pull/8200",
"https://github.com/minio/minio/security/advisories/GHSA-h749-fxx7-pwpg",
"https://nvd.nist.gov/vuln/detail/CVE-2026-39414"
],
"provider_metadata": {
"cpes": [
"cpe:2.3:a:minio:minio:*:*:*:*:*:go:*:*"
],
"severity": "High"
}
},
"related_cves": [],
"security_relevant": true,
"severity_evidence": "/database_specific/severity"
},
"source_id": "core-osv",
"document_id": 98794,
"published_at": "2026-04-13T10:10:51.384+00:00"
}