W bibliotece libautotrace.a wchodzącej w skład AutoTrace 0.31.1 odkryto przepełnienie bufora na stercie (heap-based buffer overflow) w funkcji pnm_load_ascii. Podatność otrzymała ocenę CVSS 9.8 (CRITICAL), co oznacza bardzo wysokie ryzyko zdalnego przejęcia kontroli nad systemem.
▸ Pokaż oryginał (EN)
libautotrace.a in AutoTrace 0.31.1 has a heap-based buffer overflow in the pnm_load_ascii function in input-pnm.c:303:12.
Błąd sklasyfikowany jako CWE-119 (nieprawidłowa kontrola operacji na buforze pamięci) znajduje się w pliku input-pnm.c w linii 303 funkcji pnm_load_ascii. Podczas przetwarzania pliku graficznego w formacie PNM (ASCII) biblioteka nie weryfikuje poprawnie rozmiaru danych wejściowych, co prowadzi do zapisu poza granicami zaalokowanego bufora na stercie. Atakujący może dostarczyć specjalnie spreparowany plik PNM, który wyzwoli przepełnienie i pozwoli na nadpisanie struktur pamięci procesu.
Udane wykorzystanie podatności może umożliwić atakującemu zdalne wykonanie dowolnego kodu (RCE) na podatnym systemie z uprawnieniami procesu przetwarzającego plik. W przypadku niepowodzenia exploit może doprowadzić do awarii aplikacji (odmowa usługi).
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Dodatkowo zaleca się unikanie przetwarzania niezaufanych plików PNM za pomocą podatnej wersji biblioteki oraz rozważenie wdrożenia mechanizmów sandboxingu dla aplikacji korzystających z AutoTrace.
AutoTrace 0.31.1 (biblioteka libautotrace.a); podatność obecna w funkcji pnm_load_ascii w pliku input-pnm.c
Podatność została opisana w ramach wpisu 'AutoTrace multiple vulnerabilities — the AutoTrace nightmare' opublikowanego na blogu Gentoo Security (blogs.gentoo.org) w dniu 20 maja 2017 roku.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HAutotrace Project Autotrace
APPAutotrace Project0.31.1
Powiązane podatności
Integer overflow w bibliotece AutoTrace 0.31.1 (autotrace.c)
AutoTrace: heap-based buffer over-read w funkcji pnm_load_raw
Heap-based buffer overflow w AutoTrace — funkcja pnm_load_rawpbm
Stack-based buffer overflow w AutoTrace 0.31.1 (input-pnm.c)
Przepełnienie liczby całkowitej (integer overflow) w AutoTrace 0.31.1