CVE-2016-2337
KrytyczneStreszczenie
W klasie TclTkIp metody _cancel_eval w Ruby występuje pomyłka typów. Atakujący, przekazując obiekt innego typu niż String jako argument 'retval', może spowodować wykonanie dowolnego kodu.
Ocena ryzyka
Organizacja może być narażona na zdalne wykonanie kodu, co może prowadzić do poważnych naruszeń bezpieczeństwa i utraty danych.
Rekomendacja
Zaleca się aktualizację Ruby do najnowszej wersji, aby usunąć tę podatność oraz przeglądanie kodu w celu weryfikacji typów przekazywanych argumentów.
Inne podatności w Ruby
Zobacz wszystkie- CVE-2017-17405Wysokie
Ruby w wersjach przed 2.4.3 pozwala na wstrzyknięcie poleceń w Net::FTP. Funkcje takie jak get, getbinaryfile, gettextfile, put, putbinaryfile i puttextfile wykorzystują Kernel#open do otwierania lokalnych plików, co może prowadzić do wykonania dowolnych poleceń, jeśli argument localfile zaczyna się od znaku '|'.
- CVE-2014-6438Wysokie
Metoda URI.decode_www_form_component w Ruby przed wersją 1.9.2-p330 pozwala zdalnym atakującym na wywołanie odmowy usługi poprzez specjalnie przygotowany ciąg znaków.
- CVE-2009-5147Wysokie
W Ruby w wersjach 1.8, 1.9.0, 1.9.2, 1.9.3, 2.0.0 przed patchlevel 648 oraz 2.1 przed 2.1.8 występuje podatność, która pozwala na otwieranie bibliotek z zanieczyszczonymi nazwami.
- CVE-2017-0898Krytyczne
Ruby w wersjach przed 2.4.2, 2.3.5 i 2.2.8 jest podatny na złośliwy ciąg formatujący, który zawiera specyfikator (*) z ogromną wartością ujemną. Może to prowadzić do przepełnienia bufora, co skutkuje uszkodzeniem pamięci w stercie lub ujawnieniem informacji z tej pamięci.
- CVE-2017-11465Krytyczne
Funkcja parser_yyerror w parserze UTF-8 w Ruby 2.4.1 umożliwia atakującym spowodowanie odmowy usługi (nieprawidłowe zapisanie lub odczytanie) lub potencjalnie inny nieokreślony wpływ za pomocą spreparowanego skryptu Ruby.
- CVE-2026-46727Wysokie
W Ruby 4 przed wersją 4.0.5 wykryto podatność typu use-after-free w obsłudze timeoutu getaddrinfo opartej na pthread (rb_getaddrinfo w ext/socket/raddrinfo.c). Wyścig (race condition) pozwala zdalnemu atakującemu, który opóźnia odpowiedzi DNS blisko timeoutu ustawionego przez użytkownika, na crash procesu Ruby wywołującego Addrinfo.getaddrinfo(..., timeout:) lub Socket.tcp(..., resolv_timeout:). Teoretycznie możliwa jest eksploatacja prowadząca do uszkodzenia pamięci.
- CVE-2025-0306Wysokie
Podatność w interpreterze Ruby umożliwia atak typu Marvin Attack, który pozwala osobie atakującej na odszyfrowanie wcześniej zaszyfrowanych wiadomości lub fałszowanie podpisów poprzez wymianę dużej liczby wiadomości z podatną usługą.
Oryginalny opis (angielski, źródło NVD)
Type confusion exists in _cancel_eval Ruby's TclTkIp class method. Attacker passing different type of object than String as "retval" argument can cause arbitrary code execution.

