CVE-2026-47667
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 44 - wyżej niż 44% wszystkich znanych CVE
Streszczenie
Podatność w bibliotece CImg Library przed wersją 4.0.0. Funkcja `_load_analyze()` odczytuje pole `header_size` z pliku Analyze/NIfTI i alokuje pamięć bez sprawdzenia rozmiaru pliku, co może prowadzić do wycieku pamięci (np. 1,3 GB na wywołanie) przy użyciu spreparowanego pliku o wielkości 6 bajtów.
Ocena ryzyka
Ryzyko wyczerpania pamięci serwera przez zdalnego atakującego, co może prowadzić do odmowy usługi (DoS) w aplikacjach przetwarzających obrazy.
Rekomendacja
Zaktualizuj CImg Library do wersji 4.0.0 lub nowszej. Ogranicz dostęp do funkcji ładowania plików Analyze/NIfTI dla niezaufanych źródeł.
Inne podatności w CImg Library
Zobacz wszystkie- CVE-2026-42146Średnie
W bibliotece CImg przed commitem c3aacf5 pole nb_colors odczytywane z nagłówka pliku BMP jest używane bezpośrednio do obliczenia rozmiaru alokacji bez walidacji względem pozostałego rozmiaru pliku. Spreparowany plik BMP z dużą wartością nb_colors powoduje wyczerpanie pamięci i awarię aplikacji ładującej niezaufane pliki BMP.
- CVE-2026-42144Średnie
W bibliotece CImg (C++ do przetwarzania obrazów) przed commitem 4ca26bc występuje przepełnienie całkowite przy obliczaniu rozmiaru W*H*D w funkcji _load_pnm(), co omija zabezpieczenie alokacji pamięci. Spreparowany plik PNM/PGM/PPM z dużymi wymiarami powoduje zawinięcie wartości, alokację zbyt małego bufora i potencjalne przepełnienie sterty.
Oryginalny opis (angielski, źródło NVD)
CImg Library is a C++ library for image processing. Prior to version 4.0.0 in `_load_analyze()`, the header_size field is read as an `unsigned int` from the first 4 bytes of an Analyze/NIfTI file and passed directly to `new unsigned char[header_size]` without being bounded against the actual file size. A value up to ~4 GB is accepted. If the subsequent `fread` returns `short` as it will for any malformed file), the function throws a `CImgIOException` and the allocated buffer is never freed. A 6-byte crafted file is sufficient to trigger an allocation of ~1.3 GB per call, with the full allocation leaked on every error path. The issue is reachable via `load_analyze()` and the generic `load()` when the file extension is .hdr, .img, or .nii. Version 4.0.0 fixes the issue.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

