Podatność w bibliotece standardowej Ruby umożliwia nieautoryzowany path traversal poprzez przekazanie znaków NULL do metod operujących na katalogach. Brak walidacji tych znaków może prowadzić do nieuprawnionego odczytu lub modyfikacji plików poza zamierzonym katalogiem.
▸ Pokaż oryginał (EN)
In Ruby before 2.2.10, 2.3.x before 2.3.7, 2.4.x before 2.4.4, 2.5.x before 2.5.1, and 2.6.0-preview1, the Dir.open, Dir.new, Dir.entries and Dir.empty? methods do not check NULL characters. When using the corresponding method, unintentional directory traversal may be performed.
Metody Dir.open, Dir.new, Dir.entries oraz Dir.empty? nie sprawdzają obecności znaków NULL (bajt 0x00) w przekazywanych ścieżkach. Systemy operacyjne traktują znak NULL jako koniec ciągu znaków, co pozwala atakującemu na manipulację ścieżką — ciąg znaków po znaku NULL może być ignorowany przez Ruby, ale interpretowany odmiennie na poziomie systemu plików. W efekcie możliwe jest nieintencjonalne przejście do katalogów poza dozwolonym obszarem (path traversal).
Atakujący może uzyskać nieuprawniony dostęp do odczytu lub zapisu plików i katalogów poza zamierzonym obszarem systemu plików, co zagraża poufności i integralności danych.
Należy zaktualizować Ruby do wersji 2.2.10, 2.3.7, 2.4.4, 2.5.1 lub nowszej. Użytkownicy dystrybucji Red Hat powinni zastosować patche opisane w erratach RHSA-2018:3729 oraz RHSA-2018:3730.
Ruby przed wersją 2.2.10, Ruby 2.3.x przed 2.3.7, Ruby 2.4.x przed 2.4.4, Ruby 2.5.x przed 2.5.1 oraz Ruby 2.6.0-preview1
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NCanonical Ubuntu
OSCanonical14.0416.0417.10Debian
OSDebian7.08.09.0Ruby Lang Ruby
APPRuby-Lang2.6.02.5.0 – 2.5.1 (bez)2.4.0 – 2.4.4 (bez)2.3.0 – 2.3.7 (bez)< 2.2.10
Powiązane podatności
GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER
Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)
RCE przez deserializację PHP w Roundcube Webmail (parametr _from)
Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)
Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki