CVE-2026-43908
WysokieStreszczenie
W OpenImageIO przed wersjami 3.0.18.0 i 3.1.13.0 występuje przepełnienie 32-bitowej liczby całkowitej w wyrażeniu indeksu pętli pikseli, co prowadzi do zapisu poza granicami bufora wyjściowego i awarii procesu.
Ocena ryzyka
Podatność ta może prowadzić do awarii aplikacji, co wpływa na dostępność usług związanych z przetwarzaniem obrazów w organizacji.
Rekomendacja
Zaleca się aktualizację OpenImageIO do wersji 3.0.18.0 lub 3.1.13.0 w celu usunięcia tej podatności.
Inne podatności w OpenImageIO
Zobacz wszystkie- CVE-2026-43909Wysokie
W OpenImageIO przed wersjami 3.0.18.0 i 3.1.13.0 występuje przepełnienie 32-bitowej liczby całkowitej w funkcji SwapRGBABytes(), co prowadzi do obliczenia dużego ujemnego przesunięcia wskaźnika podczas przetwarzania obrazów kABGR DPX o dużych wymiarach. To powoduje natychmiastowe awarie oraz odczyty i zapisy poza dozwolonym zakresem pamięci.
- CVE-2026-43907Wysokie
W OpenImageIO przed wersjami 3.0.18.0 i 3.1.13.0 występuje przepełnienie bufora na stercie spowodowane przez przepełnienie całkowitej liczby całkowitej w funkcji QueryRGBBufferSizeInternal(). Problem ten występuje podczas przetwarzania stworzonych plików obrazów DPX, co prowadzi do zapisu poza przydzielonym buforem.
- CVE-2026-43906Wysokie
OpenImageIO przed wersjami 3.0.18.0 i 3.1.13.0 zawiera podatność na przepełnienie bufora w sterowniku HEIF, co pozwala na zapis poza przydzielonym obszarem pamięci. Może to prowadzić do uszkodzenia pamięci oraz potencjalnego wykonania złośliwego kodu.
- CVE-2026-43905Wysokie
W OpenImageIO przed wersjami 3.0.18.0 i 3.1.13.0 występuje podatność związana z obliczaniem rozmiaru bufora w pliku jpeg2000input.cpp, co prowadzi do przepełnienia sterty. Problem ten występuje, gdy iloczyn wymiarów obrazu przekracza maksymalną wartość dla 32-bitowej arytmetyki, co skutkuje alokacją zbyt małego bufora.
- CVE-2026-43904Wysokie
OpenImageIO przed wersjami 3.0.18.0 i 3.1.13.0 zawiera podatność, która pozwala na przepełnienie sterty do 65535 bajtów w wyniku nieprawidłowego ograniczenia długości uruchomienia w plikach .pic. Problem występuje w kodzie odpowiedzialnym za przetwarzanie RLE.
- CVE-2026-43903Wysokie
OpenImageIO przed wersjami 3.0.18.0 i 3.1.13.0 zawiera podatność w pliku sgiinput.cpp, gdzie użycie OIIO_DASSERT do sprawdzania granic w pętli dekodowania RLE nie działa w wersjach produkcyjnych. W wyniku tego, stworzony plik .sgi z liczbą RLE przekraczającą szerokość linii skanowania powoduje przepełnienie bufora na stercie i awarię programu.
- CVE-2026-67549Wysokie
OpenImageIO to zestaw narzędzi do odczytu, zapisu i manipulacji plikami graficznymi. Przed wersją 3.1.16.0, specjalnie spreparowany 1-bitowy ciągły obraz TIFF w trybie CMYK jest udostępniany przez natywny specyfikator obrazu uint1, więc wywołujący alokuje bufor bitowy. Funkcja tiffinput::read_native_scanline_locked() wywołuje jednak tiffinput::bit_convert() z 8-bitowym wyjściem i zapisuje jeden rozwinięty bajt na wartość do mniejszego bufora, co powoduje zapis poza stertą i uszkodzenie pamięci. Problem naprawiono w wersji 3.1.16.0.
- CVE-2026-65970Średnie
W OpenImageIO przed wersją 3.1.16.0 spreparowany plik TIFF skompresowany ZIP, przetwarzany z włączonym wielowątkowym TIFF, może spowodować, że TIFFInput::read_native_scanlines() zwróci wynik przez ścieżkę błędu, podczas gdy asynchroniczne zadania dekompresji pasków pozostają w kolejce. Ponieważ task_set jest zadeklarowany przed ok i compressed_scratch, przechwycone obiekty są niszczone przed destruktorem task_set, co pozwala zadaniom roboczym używać nieaktualnej pamięci stosu i sterty.
- CVE-2026-65969Średnie
W OpenImageIO przed wersjami 3.0.21.0, 3.1.16.0 i 3.2.0.3-beta1 obcięty plik TGA może pozostawić oczekującą ramkę GIF, która jest przetwarzana podczas zamykania wyjścia. Funkcja gifsplitpalette() oblicza numpixels pomnożone przez szerokość partycji palety w 32-bitowej arytmetyce ze znakiem; duży obraz powoduje przepełnienie tego wyniku pośredniego, uszkadza subpixelsa i prowadzi do odczytu poza granicami bufora podczas budowania palety GIF.
- CVE-2026-63638Wysokie
OpenImageIO to zestaw narzędzi do odczytu, zapisu i manipulacji plikami graficznymi. Przed wersjami 3.0.21.0, 3.1.16.0 i 3.2.0.3-beta1, specjalnie spreparowany obraz Cineon może deklarować nieobsługiwaną głębię bitową 26. Funkcja cineoninput::open() mapuje ją na 32-bitowy specyfikator obrazu, ale libcineon mapuje nieobsługiwaną głębię na 8-bajtową wartość, więc cineoninput::read_native_scanline() powoduje zapis danych kontrolowanych przez atakującego poza bufor wywołującego (4 bajty na piksel), co prowadzi do zapisu poza stertą i uszkodzenia pamięci. Problem naprawiono w wersjach 3.0.21.0, 3.1.16.0 i 3.2.0.3-beta1.
Oryginalny opis (angielski, źródło NVD)
OpenImageIO is a toolset for reading, writing, and manipulating image files of any image file format relevant to VFX / animation. Prior to 3.0.18.0 and 3.1.13.0, a signed 32-bit integer overflow in the pixel-loop index expression i * 3 inside ConvertCbYCrYToRGB() causes the function to compute a large negative pointer offset into the output buffer, producing an out-of-bounds write that crashes the process. This vulnerability is fixed in 3.0.18.0 and 3.1.13.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

