CVE-2026-39414
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 39 - wyżej niż 39% wszystkich znanych CVE
Streszczenie
MinIO od wersji RELEASE.2018-08-18T03-49-57Z do przed RELEASE.2025-12-20T04-58-37Z jest podatne na wyczerpanie pamięci podczas przetwarzania plików CSV zawierających linie dłuższe niż dostępna pamięć. Funkcja nextSplit() w czytniku CSV wywołuje bufio.Reader.ReadBytes('\n') bez ograniczenia rozmiaru, buforując całe wejście w pamięci aż do znalezienia znaku nowej linii. Plik CSV bez znaków nowej linii powoduje wczytanie całej zawartości do pojedynczej alokacji, prowadząc do awarii OOM procesu serwera MinIO. Podatność jest wykorzystywalna przez każdego uwierzytelnionego użytkownika z uprawnieniami s3:PutObject i s3:GetObject. Atak jest szczególnie praktyczny w połączeniu z kompresją: ~2 MB skompresowany gzip plik CSV może dekompresować do gigabajtów danych bez znaków nowej linii.
Ocena ryzyka
Uwierzytelniony użytkownik może spowodować awarię serwera MinIO przez wyczerpanie pamięci, co prowadzi do odmowy usługi dla wszystkich użytkowników.
Rekomendacja
Należy zaktualizować MinIO do wersji RELEASE.2025-12-20T04-58-37Z lub nowszej, która zawiera poprawkę.
Oryginalny opis (angielski, źródło NVD)
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.

