CVE-2017-14064
KrytyczneStreszczenie
Podatność w bibliotece JSON języka Ruby (wersje do 2.2.7, 2.3.x do 2.3.4 oraz 2.4.x do 2.4.1) umożliwia ujawnienie dowolnego fragmentu pamięci podczas wywołania JSON.generate. Problem wynika z użycia funkcji strdup w pliku generator.c, która kończy działanie po napotkaniu bajtu null ('\0'), zwracając wskaźnik do pustego ciągu, niezgodnego z faktyczną długością przechowywaną w space_len.
Ocena ryzyka
Atakujący może wykorzystać tę podatność do odczytu wrażliwych danych z pamięci procesu, takich jak klucze prywatne, hasła czy inne poufne informacje, co prowadzi do naruszenia poufności systemu.
Rekomendacja
Należy niezwłocznie zaktualizować Ruby do wersji 2.2.8, 2.3.5, 2.4.2 lub nowszej, które zawierają poprawkę eliminującą problem z ujawnianiem pamięci.
Oryginalny opis (angielski, źródło NVD)
Ruby through 2.2.7, 2.3.x through 2.3.4, and 2.4.x through 2.4.1 can expose arbitrary memory during a JSON.generate call. The issues lies in using strdup in ext/json/ext/generator/generator.c, which will stop after encountering a '\0' byte, returning a pointer to a string of length zero, which is not the length stored in space_len.

