CVE-2017-17405
WysokieStreszczenie
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 '|'.
Ocena ryzyka
Złośliwe serwery FTP mogą wykorzystać tę podatność do wykonania dowolnych poleceń na serwerze, co stwarza poważne zagrożenie dla bezpieczeństwa systemu.
Rekomendacja
Zaleca się aktualizację Ruby do wersji 2.4.3 lub nowszej, aby zniwelować ryzyko związane z tą podatnością.
Inne podatności w Ruby
Zobacz wszystkie- 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-2016-2337Krytyczne
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.
- 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)
Ruby before 2.4.3 allows Net::FTP command injection. Net::FTP#get, getbinaryfile, gettextfile, put, putbinaryfile, and puttextfile use Kernel#open to open a local file. If the localfile argument starts with the "|" pipe character, the command following the pipe character is executed. The default value of localfile is File.basename(remotefile), so malicious FTP servers could cause arbitrary command execution.

