CVE-2025-12495
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 9 - wyżej niż 9% wszystkich znanych CVE
Streszczenie
Podatność przepełnienia bufora w bibliotece OpenEXR podczas parsowania plików EXR. Brak walidacji długości danych dostarczonych przez użytkownika przed skopiowaniem ich do bufora sterty umożliwia zdalne wykonanie kodu. Wymagana jest interakcja użytkownika (otwarcie złośliwego pliku lub odwiedzenie strony).
Ocena ryzyka
Atakujący może wykonać dowolny kod w kontekście procesu przetwarzającego plik EXR, co może prowadzić do przejęcia systemu lub kradzieży danych. Ryzyko dotyczy aplikacji i usług przetwarzających pliki EXR, w tym narzędzi graficznych i serwerów renderujących.
Rekomendacja
Zaktualizuj bibliotekę OpenEXR do najnowszej wersji zawierającej poprawkę. Unikaj otwierania plików EXR z niezaufanych źródeł oraz wdrażaj walidację danych wejściowych w aplikacjach korzystających z OpenEXR.
Inne podatności w OpenEXR
Zobacz wszystkie- CVE-2017-12596Wysokie
W OpenEXR 2.2.0, specjalnie przygotowany obraz powoduje nadmierne odczytywanie bufora w funkcji hufDecode w pliku IlmImf/ImfHuf.cpp podczas wykonywania exrmaketiled. Może to prowadzić do odmowy usługi lub innych nieokreślonych skutków.
- CVE-2017-9115Wysokie
W OpenEXR 2.2.0 występuje nieprawidłowe zapisanie danych o rozmiarze 2 w funkcji operatora = w pliku half.h, co może prowadzić do awarii aplikacji lub wykonania dowolnego kodu.
- CVE-2017-9113Wysokie
W OpenEXR 2.2.0 występuje nieprawidłowe zapisanie danych o rozmiarze 1 w funkcji bufferedReadPixels w pliku ImfInputFile.cpp, co może prowadzić do awarii aplikacji lub wykonania dowolnego kodu.
- CVE-2017-9111Wysokie
W OpenEXR 2.2.0 występuje nieprawidłowe zapisanie danych o rozmiarze 8 w funkcji storeSSE w pliku ImfOptimizedPixelReading.h, co może prowadzić do awarii aplikacji lub wykonania dowolnego kodu.
- CVE-2026-42217Krytyczne
OpenEXR w wersjach od 3.0.0 do przed 3.2.9, 3.3.0 do przed 3.3.11 oraz 3.4.0 do przed 3.4.11 ma problem z funkcją readVariableLengthInteger(), która dekoduje zmienną długość liczby całkowitej z niezaufanego wejścia EXR bez ograniczenia liczby przesunięć. Po wystarczającej liczbie bajtów kontynuacji, kod wykonuje przesunięcie w lewo o 70 na 64-bitowej wartości, co prowadzi do nieokreślonego zachowania.
- CVE-2026-42216Krytyczne
W bibliotece OpenEXR w wersjach od 3.0.0 do 3.2.9, od 3.3.0 do 3.3.11 oraz od 3.4.0 do 3.4.11 wykryto podatność w funkcji IDManifest::init(). Podczas rekonstrukcji ciągów znaków z reprezentacji skompresowanej prefiksowo, kod odczytuje bajty bez sprawdzenia, czy bieżący ciąg ma co najmniej dwa bajty, co może prowadzić do odczytu poza zakresem.
- CVE-2026-88384Średnie
OpenEXR 3.4.14 zawiera podatność na dereferencję pustego wskaźnika w ścieżce parsowania atrybutów C++. Specjalnie spreparowany plik EXR zawierający atrybut nieznanego typu z dataSize ustawionym na zero powoduje utworzenie nieprzezroczystego atrybutu z pustym wskaźnikiem packed_data. Konstruktor OpaqueAttribute przekazuje ten pusty wskaźnik do memcpy() bez walidacji warunku zerowego rozmiaru, co prowadzi do niezdefiniowanego zachowania i zakończenia procesu.
- CVE-2026-68515Wysokie
OpenEXR przed wersjami 3.2.11, 3.3.13 i 3.4.14 zawiera podatność w narzędziu exrmultiview, które może zapisywać poza stertą podczas łączenia dwóch dostarczonych przez atakującego, indywidualnie poprawnych plików EXR, gdy unia dataWindow nie jest wyrównana do próbkowania kanałów jednego widoku. Prowadzi to do zapisu poza granicami sterty.
- CVE-2026-68514Średnie
PyOpenEXR w wersjach 3.3.0-3.3.12 i 3.4.0-3.4.13 ma podatność na zapis poza stertą podczas odczytu spreparowanego pliku EXR z głębokimi scanline'ami. Specjalnie skonstruowany plik z kanałem 'left' i warstwowymi kanałami RGB może spowodować przepełnienie bufora i awarię.
- CVE-2026-68513Wysokie
OpenEXR w wersjach 3.3.0 do 3.3.12 i 3.4.0 do 3.4.13 zawiera przepełnienie bufora sterty w PyOpenEXR, wywoływane przez kolizję nazw kanałów między dosłownymi a prefiksowanymi kanałami RGB. Specjalnie spreparowany plik EXR może spowodować zapis poza granicami tablicy NumPy podczas dekodowania pikseli.
Oryginalny opis (angielski, źródło NVD)
Academy Software Foundation OpenEXR EXR File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of Academy Software Foundation OpenEXR. User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file. The specific flaw exists within the parsing of EXR files. The issue results from the lack of proper validation of the length of user-supplied data prior to copying it to a heap-based buffer. An attacker can leverage this vulnerability to execute code in the context of the current process. Was ZDI-CAN-27946.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

