CVE-2026-19025
ŚrednieCVSS 6.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
Funkcja H5O__layout_decode w pliku H5Olayout.c w HDF5 do wersji 2.3.0 włącznie nie waliduje, czy przechowywana wymiarowość układu chunków dla zestawu danych chunked odpowiada rangowi dataspace, gdy otwierany jest istniejący zestaw danych, podczas gdy ta kontrola jest wykonywana tylko podczas tworzenia zestawu danych. Pozwala to atakującym na spowodowanie odmowy usługi (dzielenie przez zero i awaria aplikacji w H5S__hyper_iter_get_seq_list w src/H5Shyper.c) przez spreparowany plik HDF5 z niedopasowanymi rangami chunk/dataspace, otwierany i odczytywany przez H5Dopen2 i H5Dread, np. przez narzędzie h5repack.
Ocena ryzyka
Atakujący może spowodować awarię aplikacji lub odmowę usługi, co może zakłócić działanie systemów przetwarzających pliki HDF5, prowadząc do przerw w działaniu usług.
Rekomendacja
Zaleca się aktualizację HDF5 do wersji nowszej niż 2.3.0, która zawiera poprawkę walidacji. Należy również unikać otwierania niezaufanych plików HDF5.
Inne podatności w HDF5
Zobacz wszystkie- CVE-2017-17509Wysokie
W HDF5 w wersji 1.10.1 występuje podatność na zapis poza granicami w funkcji H5G__ent_decode_vec w pliku H5Gcache.c w bibliotece libhdf5.a. Na przykład, użycie narzędzia h5dump może spowodować awarię lub inne nieokreślone skutki, gdy otworzy się spreparowany plik hdf5.
- CVE-2016-4333Wysokie
Biblioteka HDF5 w wersji 1.8.16 ma lukę, która pozwala na modyfikację wskaźnika pętli inicjalizującej tablicę, co może prowadzić do wskazywania poza granice tablicy. Wartość używana do alokacji przestrzeni pochodzi z pliku, co stwarza ryzyko manipulacji przez atakującego.
- CVE-2016-4332Wysokie
Biblioteka HDF5 w wersji 1.8.16 nie sprawdza, czy określone typy wiadomości obsługują dany znacznik, co prowadzi do rzutowania struktury na alternatywną strukturę i przypisywania wartości do pól, które nie są obsługiwane przez typ wiadomości. Może to skutkować wykonaniem kodu w kontekście biblioteki.
- CVE-2016-4331Wysokie
Podczas dekodowania danych z zestawu danych zakodowanego przy użyciu dekodowania H5Z_NBIT, biblioteka HDF5 w wersji 1.8.16 nie zapewnia, że precyzja mieści się w granicach rozmiaru, co prowadzi do możliwości wykonania dowolnego kodu.
- CVE-2016-4330Wysokie
W bibliotece HDF5 w wersji 1.8.16 występuje błąd polegający na braku sprawdzenia, czy liczba wymiarów tablicy odczytanej z pliku mieści się w granicach przydzielonej dla niej przestrzeni. Może to prowadzić do przepełnienia bufora na stercie, co potencjalnie umożliwia wykonanie dowolnego kodu.
- CVE-2026-19029Średnie
W HDF5 do wersji 2.2.0 występuje przepełnienie bufora na stercie (heap-based buffer over-read) w funkcji H5Z__filter_scaleoffset() w pliku src/H5Zscaleoffset.c. Atakujący może spowodować odmowę usługi (awarię aplikacji) za pomocą spreparowanego pliku HDF5. Gdy zapisane minimalne bity są równe pełnej precyzji typu danych, dekoder kopiuje d_nelmts * size bajtów z skompresowanego fragmentu bez sprawdzania, czy fragment zawiera tyle bajtów.
- CVE-2026-106547Wysokie
Przepełnienie bufora na stercie w funkcji H5VM_array_fill() w pliku src/H5VM.c w bibliotece HDF5 przed wersją 2.2.0. Złośliwy plik HDF5 może spowodować awarię aplikacji, a potencjalnie także wykonanie dowolnego kodu, gdy odczytywane są nieprzydzielone fragmenty zbioru danych, a metadane są niespójne z rozmiarem bufora.
- CVE-2026-92627Średnie
W HDF5 przed wersją 1.14.2 występuje podatność use-after-free w funkcji H5T__conv_f_f() w pliku src/H5Tconv.c. Podczas konwersji typu złożonego zawierającego elementy zmiennoprzecinkowe przy odczycie zbioru danych tymczasowy bufor przydzielony przez calloc() jest zwalniany, a następnie odczytywany w tej samej procedurze konwersji.
- CVE-2026-19028Średnie
HDF5 przed wersją 2.3.0 zawiera podatność w funkcji H5Z__filter_fletcher32, która oblicza długość danych do sumy kontrolnej odejmując 4 bajty od rozmiaru bufora bez sprawdzenia, czy bufor ma co najmniej 4 bajty, co prowadzi do niedomiaru (underflow) typu size_t. Atakujący może spowodować odmowę usługi (masywne odczyty poza zakresem i awarię aplikacji) poprzez spreparowany plik HDF5 z filtrem Fletcher32 dla fragmentu mniejszego niż 4 bajty, wyzwalanego przez H5Dread, np. narzędziami h5ls lub h5dump.
- CVE-2026-19027Średnie
HDF5 przed wersją 2.3.0 zawiera podatność w funkcjach H5Z__nbit_decompress_one_byte, H5Z__nbit_decompress_one_nooptype i H5Z__nbit_decompress_one_atomic, które przesuwają indeks odczytu w buforze skompresowanego fragmentu bez ograniczenia go do rzeczywistego rozmiaru bufora. Atakujący może spowodować odczyt poza zakresem sterty, a w ograniczonych przypadkach ujawnienie sąsiedniej pamięci sterty w wartościach dekompresowanych danych, poprzez spreparowany plik HDF5 z parametrami filtra N-Bit opisującymi więcej danych niż faktycznie zawiera skompresowany fragment, wyzwalanego przez H5Dread, np. narzędziami h5ls lub h5repack.
Oryginalny opis (angielski, źródło NVD)
H5O__layout_decode in H5Olayout.c in HDF5 through 2.3.0 does not validate that a chunked dataset's stored chunk-layout dimensionality matches its dataspace rank when an existing dataset is opened, whereas this check is performed only at dataset-creation time. This allows attackers to cause a denial of service (divide-by-zero and application crash in H5S__hyper_iter_get_seq_list in src/H5Shyper.c) via a crafted HDF5 file with mismatched chunk/dataspace ranks that is opened and read via H5Dopen2 and H5Dread, e.g. by the h5repack tool.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

