W silniku JavaScript JerryScript w wersji 2.4.0 i wcześniejszych istnieje podatność typu heap-based buffer overflow, wywoływana przez odczyt poza granicami bufora podczas parsowania instrukcji pętli for. Podatność uzyskała ocenę krytyczną CVSS 9.8, co oznacza możliwość jej zdalnego wykorzystania bez uwierzytelnienia.
▸ Pokaż oryginał (EN)
A Heap-based Buffer Overflow vulnerability exists in JerryScript 2.4.0 and prior versions via an out-of-bounds read in parser_parse_for_statement_start in the js-parser-statm.c file. This issue is similar to CVE-2020-29657.
Podatność wynika z błędu out-of-bounds read w funkcji parser_parse_for_statement_start w pliku js-parser-statm.c. Nieprawidłowo spreparowany kod JavaScript z pętlą for może wywołać przepełnienie bufora sterty (heap), prowadząc do zapisu danych poza zarezerwowanym obszarem pamięci. Problem jest podobny do wcześniej zgłoszonej podatności CVE-2020-29657, co sugeruje systemową wadę w logice parsowania pętli.
Atakujący może doprowadzić do uszkodzenia pamięci procesu, co w konsekwencji może umożliwić zdalne wykonanie dowolnego kodu (RCE), ujawnienie poufnych danych lub awarię aplikacji. Ze względu na brak wymagań dotyczących uwierzytelnienia i interakcji użytkownika, podatność jest szczególnie niebezpieczna w środowiskach osadzonych korzystających z JerryScript.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się śledzenie repozytorium projektu na GitHub pod adresem wskazanym w referencjach (issue #4754) w celu uzyskania aktualnych informacji o łatce. Do czasu aktualizacji należy ograniczyć możliwość dostarczania nieznanych skryptów JavaScript do środowisk korzystających z JerryScript.
JerryScript w wersji 2.4.0 oraz wszystkich wcześniejszych wersjach
Podatność jest opisana jako podobna do CVE-2020-29657, co wskazuje na powtarzający się wzorzec błędów w module parsowania pętli for w JerryScript.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HJerryscript
APPJerryscript≤ 2.4.0
Powiązane podatności
Buffer Overflow w JerryScript 3.0 umożliwiający zdalne wykonanie kodu
Buffer overflow w JerryScript umożliwiający zdalne wykonanie kodu
RCE w JerryScript 2.3.0 via ecma_builtin_array_prototype_object_slice
Buffer overflow w JerryScript — fałszywe obiekty i nieograniczone ArrayBuffer
Buffer overflow w Jerryscript — funkcja array slice