Katalog CVE

CVE-2026-54897

NiskieCVSS 2.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.12%

Percentyl 2 — wyżej niż 2% wszystkich znanych CVE

Streszczenie

Oj (Optimized JSON) to parser JSON i marshaller obiektów spakowany jako gem Ruby. Przed wersją 3.17.2 iteratory Oj::Doc (each_value, each_child, each_leaf) były podatne na użycie po zwolnieniu (use-after-free) sterty. Gdy blok Ruby wywołany podczas iteracji wywołuje doc.close lub d.close, pamięć sterty dokumentu jest zwalniana, podczas gdy iterator C wciąż działa. Po powrocie z bloku iterator odczytuje z zwolnionego obszaru, co prowadzi do podatności dostępnej z czystego Ruby.

Ocena ryzyka

Atakujący może wykorzystać tę podatność do odczytu lub zapisu w zwolnionej pamięci sterty, co może prowadzić do ujawnienia poufnych danych, awarii aplikacji lub potencjalnie zdalnego wykonania kodu w kontekście procesu Ruby.

Rekomendacja

Należy natychmiast zaktualizować gem Oj do wersji 3.17.2 lub nowszej. Jeśli aktualizacja nie jest możliwa, należy unikać wywoływania doc.close lub d.close wewnątrz bloków iteratorów each_value, each_child i each_leaf.

Oryginalny opis (angielski, źródło NVD)

Oj (Optimized JSON) is a JSON parser and Object marshaller packaged as a Ruby gem. Prior to 3.17.2, Oj::Doc iterators (each_value, each_child, each_leaf) were vulnerable to a heap use-after-free. When a Ruby block yielded during iteration calls doc.close or d.close, the document's heap memory is freed while the C iterator is still running. When control returns from the block, the iterator reads from the freed region, producing a use-after-free accessible from pure Ruby. This issue has been fixed in version 3.17.2.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS