CVE-2026-97731
WysokieCVSS 7.1Streszczenie
MinIO do wersji 7aac2a2 nie weryfikuje, czy każdy nagłówek x-amz-* obecny w żądaniu znajduje się również na liście X-Amz-SignedHeaders dostarczonej przez klienta. Funkcja extractSignedHeaders() w cmd/signature-v4-utils.go iteruje tylko po zadeklarowanej liście i nie wylicza nagłówków, które faktycznie dotarły, przez co niepodpisany nagłówek nie jest ani hashowany, ani odrzucany. Ponieważ cmd/api-router.go kieruje CopyObject wyłącznie na podstawie obecności x-amz-copy-source, posiadacz presigned PUT URL ograniczonego do jednego obiektu może dodać ten nagłówek do niezmienionego URL i spowodować kopię po stronie serwera, wykonaną jako podpisujący, dowolnego obiektu, który klucz podpisujący może odczytać. Uprawnienie do zapisu jednego obiektu staje się odczytem każdego zasobu, do którego ten klucz ma dostęp. Amazon S3 odrzuca równoważne żądanie z HTTP 403 AccessDenied. Repozytorium minio/minio na GitHub zostało zarchiwizowane w kwietniu 2026; pgsty/silo przed 1233254 jest również dotknięty.
Ocena ryzyka
Atakujący z ograniczonym uprawnieniem zapisu może uzyskać dostęp do odczytu wszystkich obiektów dostępnych dla danego klucza, co prowadzi do wycieku danych i naruszenia poufności.
Rekomendacja
Zaktualizuj MinIO do wersji zawierającej poprawkę lub zastosuj obejście polegające na weryfikacji wszystkich nagłówków x-amz-* względem X-Amz-SignedHeaders; rozważ migrację z zarchiwizowanego repozytorium minio/minio.
Inne podatności w MinIO
Zobacz wszystkie- CVE-2023-28432WysokieAktywnie exploitowane
MinIO to framework do przechowywania obiektów w chmurze. W klastrze w wersjach od RELEASE.2019-12-17T23-16-33Z do przed RELEASE.2023-03-20T20-16-18Z MinIO zwraca wszystkie zmienne środowiskowe, w tym MINIO_SECRET_KEY i MINIO_ROOT_PASSWORD, co prowadzi do ujawnienia informacji. Dotyczy to wszystkich użytkowników wdrożeń rozproszonych.
- CVE-2026-39414Średnie
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.
- CVE-2026-34204Wysokie
W systemie MinIO stwierdzono podatność w funkcji extractMetadataFromMime(), która pozwala uwierzytelnionemu użytkownikowi z uprawnieniem s3:PutObject na wstrzyknięcie metadanych szyfrowania po stronie serwera do obiektów poprzez wysłanie spreparowanych nagłówków X-Minio-Replication-* w żądaniu PutObject.
Oryginalny opis (angielski, źródło NVD)
MinIO through 7aac2a2 does not verify that every x-amz-* header present on a request also appears in the client-supplied X-Amz-SignedHeaders list. extractSignedHeaders() in cmd/signature-v4-utils.go iterates only the claimed list and never enumerates the headers that actually arrived, and thus a header that arrives unsigned is neither hashed into the canonical request nor rejected. Because cmd/api-router.go dispatches CopyObject on the presence of x-amz-copy-source alone, the holder of a presigned PUT URL scoped to a single object can add that header to the unmodified URL and cause a server-side copy, executed as the signer, of any object the signing key can read. A grant to write one object becomes a read of every bucket that key can reach. Amazon S3 rejects the equivalent request with HTTP 403 AccessDenied. The minio/minio GitHub repository was archived in April 2026; pgsty/silo before 1233254 is also affected.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

