CVE-2017-0901
WysokieStreszczenie
Wersje RubyGems 2.6.12 i wcześniejsze nie weryfikują nazw specyfikacji, co pozwala na stworzenie złośliwego gema, który może nadpisać dowolny plik w systemie plików.
Ocena ryzyka
Zagrożenie to może prowadzić do utraty integralności danych oraz potencjalnego przejęcia kontroli nad systemem przez atakującego.
Rekomendacja
Zaleca się aktualizację RubyGems do wersji nowszej niż 2.6.12, aby zniwelować ryzyko związane z tą podatnością.
Inne podatności w RubyGems
Zobacz wszystkie- CVE-2026-82455Wysokie
RubyGems nie przeprowadza ponownej walidacji zawartości ścieżki po rozwiązaniu dowiązań symbolicznych podczas ekstrakcji gemów. Gdy istniejące wcześniej dowiązanie symboliczne w katalogu docelowym wskazuje poza katalog ekstrakcji, pliki, które wydają się być zapisywane w katalogu docelowym, mogą zostać zapisane poza nim, łamiąc granicę bezpieczeństwa ekstrakcji. Poprawka rozwiązuje rzeczywistą ścieżkę katalogu nadrzędnego przed zapisem i zgłasza Gem::Package::PathError, jeśli wykracza poza katalog docelowy.
- CVE-2017-0902Wysokie
RubyGems w wersji 2.6.12 i wcześniejszych jest podatny na atak typu DNS hijacking, który pozwala atakującemu przejąć kontrolę nad połączeniem i wymusić na kliencie RubyGems pobranie oraz zainstalowanie gemów z serwera, który kontroluje.
- CVE-2017-0900Wysokie
Wersje RubyGems 2.6.12 i wcześniejsze są podatne na złośliwie skonstruowane specyfikacje gemów, które mogą prowadzić do ataku typu denial of service na klientów RubyGems, którzy wydali polecenie `query`.
- CVE-2017-0903Krytyczne
Wersje RubyGems od 2.0.0 do 2.6.13 są podatne na potencjalną możliwość zdalnego wykonania kodu. Deserializacja YAML specyfikacji gemów może obejść białe listy klas.
- CVE-2017-0899Krytyczne
RubyGems w wersji 2.6.12 i wcześniejszych jest podatny na złośliwie skonstruowane specyfikacje gemów, które zawierają znaki ucieczki terminala. Wydrukowanie specyfikacji gema może spowodować wykonanie sekwencji ucieczki terminala.
Oryginalny opis (angielski, źródło NVD)
RubyGems version 2.6.12 and earlier fails to validate specification names, allowing a maliciously crafted gem to potentially overwrite any file on the filesystem.

