W bibliotece LibRaw do wersji 0.18.4 włącznie wykryto podatność typu out of bounds read w funkcji kodak_65000_load_raw, obecnej w plikach dcraw/dcraw.c oraz internal/dcraw_common.cpp. Błąd umożliwia ujawnienie wrażliwych danych z pamięci lub spowodowanie awarii aplikacji przetwarzającej pliki RAW.
▸ Pokaż oryginał (EN)
In LibRaw through 0.18.4, an out of bounds read flaw related to kodak_65000_load_raw has been reported in dcraw/dcraw.c and internal/dcraw_common.cpp. An attacker could possibly exploit this flaw to disclose potentially sensitive memory or cause an application crash.
Podatność (CWE-125) polega na odczycie danych spoza przydzielonego bufora pamięci podczas parsowania plików RAW w formacie Kodak 65000. Atakujący może dostarczyć specjalnie spreparowany plik RAW, którego przetworzenie przez podatną funkcję spowoduje odczyt z nieautoryzowanego obszaru pamięci. Exploitation jest możliwy zdalnie, bez uwierzytelnienia i bez interakcji użytkownika (poza otwarciem pliku), co czyni wektor ataku szczególnie groźnym.
Atakujący może uzyskać dostęp do potencjalnie wrażliwych danych przechowywanych w pamięci procesu lub spowodować crash aplikacji korzystającej z biblioteki LibRaw, prowadząc do odmowy usługi (DoS).
Należy zaktualizować LibRaw do wersji zawierającej poprawkę udostępnioną w ramach commitu d13e8f6d1e987b7491182040a188c16a395f1d21 w repozytorium GitHub. Należy zastosować patche dostępne u producenta zgodnie z referencjami.
LibRaw w wersjach do 0.18.4 włącznie
Podatność została zgłoszona w ramach issue #101 w oficjalnym repozytorium LibRaw na GitHub. Poprawka dostępna jest w postaci konkretnego commitu: d13e8f6d1e987b7491182040a188c16a395f1d21.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HLibraw
APPLibraw≤ 0.18.4
Powiązane podatności
Heap buffer overflow w LibRaw — funkcja lossless_jpeg_load_raw
Przepełnienie bufora sterty w LibRaw — funkcja HuffTable::initval
LibRaw: przepełnienie bufora sterty w x3f_thumb_loader
LibRaw: błąd inicjalizacji pamięci w phase_one_correct umożliwiający RCE
Błąd indeksu tablicy w LibRaw — możliwe RCE przez smal_decode_segment