W bibliotece Artifex MuJS v1.1.3 wykryto podatność heap buffer overflow wywoływaną przez konflikt JumpList w zagnieżdżonych instrukcjach try/finally. Podatność umożliwia zdalnemu atakującemu przejęcie pełnej kontroli nad systemem bez jakichkolwiek uprawnień.
▸ Pokaż oryginał (EN)
Artifex MuJS v1.1.3 was discovered to contain a heap buffer overflow which is caused by conflicting JumpList of nested try/finally statements.
Błąd (CWE-787: Out-of-bounds Write) polega na tym, że podczas przetwarzania zagnieżdżonych bloków try/finally silnik JavaScript MuJS generuje konfliktujące wpisy w wewnętrznej strukturze JumpList. Prowadzi to do zapisu danych poza granicami przydzielonego bufora na stercie (heap buffer overflow). Odpowiednio spreparowany skrypt JavaScript może wyzwolić ten błąd podczas parsowania lub wykonania kodu.
Atakujący może uzyskać możliwość wykonania dowolnego kodu (RCE) w kontekście procesu używającego biblioteki MuJS, a w konsekwencji przejąć pełną kontrolę nad poufnością, integralnością i dostępnością systemu.
Należy zaktualizować bibliotekę MuJS do wersji zawierającej poprawkę dostępną w repozytorium GitHub (commit df8559e7bdbc6065276e786217eeee70f28fce66). Szczegóły dostępne w zgłoszeniu błędu pod adresem bugs.ghostscript.com (ID 704749).
Artifex MuJS v1.1.3
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HArtifex Mujs
APPArtifex1.1.3
Powiązane podatności
Use-after-free w MuJS — błąd dostępu do właściwości source wyrażenia regularnego
Buffer overflow w Artifex MuJS przez integer overflow przy parsowaniu liczb zmiennoprzecinkowych
Przepełnienie bufora w MuJS 1.0.5 przez nieograniczony rozmiar wyrażenia regularnego
Stack-based buffer overflow w Artifex MuJS — funkcje Number#toFixed() i numtostr
Heap-based buffer overflow w MuJS — przepełnienie bufora na stercie