Podatności QuickJS
9 znanych podatności CVE w QuickJS, przetłumaczonych i ocenionych.
- CVE-2026-88378Krytyczne
QuickJS commit 04be24600 zawiera podatność na zapis poza zakresem sterty w JS_ReadFunctionTag().
- CVE-2025-12745Średnie
W QuickJS do wersji eb2c89087def1829ed99630cb14b549d7a98408c funkcja js_array_buffer_slice w pliku quickjs.c powoduje nadmierne odczytanie bufora (buffer over-read). Atak wymaga lokalnego wykonania, a exploit jest publicznie dostępny.
- CVE-2025-62496Wysokie
Podatność w silniku QuickJS podczas tworzenia BigInt z ciągu znaków o bardzo dużej liczbie cyfr. Obliczenie liczby bitów powoduje przepełnienie liczb całkowitych, co prowadzi do zaniżenia rozmiaru bufora i zapisu poza granicami sterty (heap out-of-bounds write).
- CVE-2025-62495Wysokie
Podatność typu integer overflow w silniku wyrażeń regularnych QuickJS (libregexp) z powodu niespójnej reprezentacji rozmiaru bufora bajtkodu. Duże lub złożone wyrażenie regularne może spowodować przepełnienie rozmiaru i zapis poza granicami bufora.
- CVE-2025-62494Wysokie
W silniku QuickJS występuje podatność typu type confusion podczas obsługi operacji dodawania ciągów (+). Podczas konwersji prawego operandu może zostać wywołany callback, który zmienia typ lewego operandu, co prowadzi do niezgodności typów i potencjalnego dostępu poza granicami pamięci.
- CVE-2025-62493Średnie
Podatność w silniku QuickJS w funkcji konwersji BigInt na string (js_bigint_to_string1) wynika z błędnego obliczenia liczby cyfr potrzebnych do reprezentacji, co prowadzi do odczytu pamięci poza zaalokowaną strukturą BigInt. W pewnych przypadkach brzegowych pętla konwersji odczytuje dane z sąsiedniego limb, powodując out-of-bounds read.
- CVE-2025-62492Średnie
W silniku QuickJS występuje błąd precyzji arytmetyki zmiennoprzecinkowej w implementacji TypedArray.prototype.indexOf() przy ujemnym argumencie fromIndex. Gdy wartość jest bardzo mała (np. -1e-20), dodanie długości tablicy może stracić precyzję i dać indeks równy długości, powodując odczyt poza granicami bufora o jeden element. Może to prowadzić do ujawnienia informacji z sąsiedniej pamięci.
- CVE-2025-62491Wysokie
W bibliotece standardowej silnika QuickJS występuje use-after-free podczas iteracji po liście odrzuconych obietnic (rejected_promise_list). Złośliwy getter właściwości obiektu Error może wywołać catch() na tej samej obietnicy, co usuwa i zwalnia bieżący wpis listy, a pętla dalej używa zwolnionego wskaźnika.
- CVE-2025-62490Wysokie
W funkcji js_print_object w QuickJS drukowanie tablicy najpierw pobiera długość, a następnie iteruje po niej, mimo że drukowanie wartości nie jest wolne od efektów ubocznych. Callback zdefiniowany przez atakującego może zmienić rozmiar tablicy podczas js_print_value, powodując użycie po zwolnieniu; podobny problem występuje przy drukowaniu obiektów Map i Set.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

