Безпека
Тут ви знайдете інформацію про питання безпеки Ruby.
Повідомлення про вразливості безпеки
Вразливості безпеки в мові програмування Ruby слід повідомляти через нашу сторінку bounty-програми на HackerOne. Будь ласка, перед поданням уважно ознайомтеся з деталями щодо сфери охоплення нашої програми. Усі коректно повідомлені проблеми будуть опубліковані після виправлень.
Якщо ви знайшли проблему, що стосується одного з наших вебсайтів, будь ласка, повідомте про неї через GitHub або перегляньте наші Google Groups для оголошень про безпеку.
Якщо ви знайшли проблему, що стосується gem-а спільноти Ruby, дотримуйтесь інструкцій на RubyGems.org.
Щоб напряму зв’язатися з командою безпеки поза HackerOne, можна надіслати лист на security@ruby-lang.org (публічний PGP-ключ), що є приватною поштовою розсилкою.
Членами цієї розсилки є люди, які надають Ruby (комітери Ruby та автори інших реалізацій Ruby, дистриб’ютори, постачальники PaaS-платформ). Членами мають бути окремі люди, поштові списки не допускаються.
Відомі проблеми
Дивіться англійську сторінку для повного та актуального списку вразливостей безпеки. Нижче наведено лише вже перекладені оголошення про безпеку; список може бути неповним або застарілим.
Ось нещодавні проблеми:
- CVE-2025-61594: обхід попередніх виправлень витоку облікових даних URI
2025-10-07 - CVE-2025-58767: DoS-вразливість у REXML
2025-09-18 - CVE-2025-24294: Можлива відмова в обслуговуванні у gem resolv
2025-07-08 - CVE-2025-43857: DoS-вразливість у net-imap
2025-04-28 - Повідомлення з безпеки: CVE-2025-27219, CVE-2025-27220 та CVE-2025-27221
2025-02-26 - CVE-2025-25186: DoS-вразливість у net-imap
2025-02-10 - CVE-2024-49761: Вразливість ReDoS у REXML
2024-10-28 - CVE-2024-43398: Вразливість DoS у REXML
2024-08-22 - CVE-2024-41946: Вразливість DoS у REXML
2024-08-01 - CVE-2024-41123: Уразливості DoS у REXML
2024-08-01 - CVE-2024-39908: Вразливість DoS у REXML
2024-07-16 - CVE-2024-35176: Вразливість DoS у REXML
2024-05-16 - CVE-2024-27282: Вразливість читання довільної адреси пам'яті з пошуком Regex
2024-04-23 - CVE-2024-27281: Вразливість RCE з .rdoc_options у RDoc
2024-03-21 - CVE-2024-27280: Вразливість перечитання буфера в StringIO
2024-03-21 - CVE-2023-36617: Вразливість ReDoS у URI
2023-06-29 - CVE-2023-28756: Вразливість ReDoS у Time
2023-03-30 - CVE-2023-28755: Вразливість ReDoS у URI
2023-03-28 - CVE-2021-33621: HTTP response splitting в CGI
2022-11-22 - CVE-2022-28738: Double free в компіляції Regexp
2022-04-12 - CVE-2022-28739: Buffer overrun в перетворенні String-to-Float
2022-04-12 - CVE-2021-41819: Cookie Prefix Spoofing в CGI::Cookie.parse
2021-11-24 - CVE-2021-41816: Buffer Overrun в CGI.escape_html
2021-11-24 - CVE-2021-41817: Вразливість Regular Expression Denial of Service методів парсингу Date
2021-11-15 - CVE-2021-31810: Вразливість довіри до FTP PASV відповідей в Net::FTP
2021-07-07 - CVE-2021-32066: Вразливість StartTLS stripping в Net::IMAP
2021-07-07 - CVE-2021-31799: Вразливість ін'єкції команди в RDoc
2021-05-02 - CVE-2021-28965: Вразливість XML round-trip в REXML
2021-04-05 - CVE-2021-28966: Path traversal в Tempfile на Windows
2021-04-05 - CVE-2020-25613: Потенційна вразливість HTTP Request Smuggling в WEBrick
2020-09-29 - CVE-2020-10933: Вразливість витоку купи в бібліотеці socket
2020-03-31 - CVE-2020-10663: Вразливість небезпечного створення об'єктів у JSON (Додаткове виправлення)
2020-03-19 - CVE-2019-16201: Вразливість Regular Expression Denial of Service модуля Digest access authentication WEBrick
2019-10-01 - CVE-2019-15845: Вразливість ін'єкції NUL File.fnmatch та File.fnmatch?
2019-10-01 - CVE-2019-16254: HTTP response splitting в WEBrick (Додаткове виправлення)
2019-10-01 - CVE-2019-16255: Вразливість ін'єкції коду Shell#[] та Shell#test
2019-10-01 - Множинні вразливості jQuery в RDoc
2019-08-28 - Множинні вразливості в RubyGems
2019-03-05 - CVE-2018-16395: Перевірка рівності OpenSSL::X509::Name працює неправильно
2018-10-17 - CVE-2018-16396: Прапорці tainted не поширюються в Array#pack та String#unpack з деякими директивами
2018-10-17 - CVE-2018-6914: Ненавмисне створення файлу та директорії з обходом директорії в tempfile та tmpdir
2018-03-28 - CVE-2018-8779: Ненавмисне створення сокету через отруєний NUL байт в UNIXServer та UNIXSocket
2018-03-28 - CVE-2018-8780: Ненавмисний обхід директорії через отруєний NUL байт в Dir
2018-03-28 - CVE-2018-8777: DoS великим запитом в WEBrick
2018-03-28 - CVE-2017-17742: Розділення HTTP відповіді в WEBrick
2018-03-28 - CVE-2018-8778: Недочитування буфера в String#unpack
2018-03-28 - Множинні вразливості в RubyGems
2018-02-17 - CVE-2017-17405: Вразливість ін'єкції команди в Net::FTP
2017-12-14 - CVE-2017-10784: Вразливість ін'єкції escape послідовності в Basic аутентифікації WEBrick
2017-09-14 - CVE-2017-0898: Вразливість недоповнення буфера в Kernel.sprintf
2017-09-14 - CVE-2017-14033: Вразливість недоповнення буфера в декодуванні OpenSSL ASN1
2017-09-14 - CVE-2017-14064: Вразливість викриття купи в генерації JSON
2017-09-14 - Множинні вразливості в RubyGems
2017-08-29 - CVE-2015-7551: Небезпечне використання tainted рядка в Fiddle та DL
2015-12-16 - CVE-2015-1855: Перевірка імені хоста Ruby OpenSSL
2015-04-13 - CVE-2014-8090: Ще одна відмова в обслуговуванні розширення XML
2014-11-13 - CVE-2014-8080: Відмова в обслуговуванні розширення XML
2014-10-27 - Змінено налаштування за замовчуванням ext/openssl
2014-10-27 - Суперечка щодо вразливості CVE-2014-2734
2014-05-09 - Серйозна вразливість OpenSSL у розширенні TLS Heartbeat (CVE-2014-0160)
2014-04-10 - Переповнення купи при парсингу екранування URI YAML (CVE-2014-2525)
2014-03-29 - Переповнення купи при парсингу чисел з плаваючою комою (CVE-2013-4164)
2013-11-22 - Вразливість обходу перевірки імені хоста в SSL клієнті (CVE-2013-4073)
2013-06-27 - Обхід таїнтування об'єкта в DL та Fiddle в Ruby (CVE-2013-2065)
2013-05-14
Більше відомих проблем:
- DoS-вразливість через розширення сутностей у REXML (XML bomb, CVE-2013-1821) опубліковано 22 лютого 2013.
- Вразливість DoS і небезпечне створення об’єктів у JSON (CVE-2013-0269) опубліковано 22 лютого 2013.
- XSS-експлойт документації RDoc, згенерованої rdoc (CVE-2013-0256) опубліковано 6 лютого 2013.
- DoS-вразливість hash-flooding для Ruby 1.9 (CVE-2012-5371) опубліковано 10 листопада 2012.
- Ненавмисне створення файлів через вставку некоректного NUL-символу (CVE-2012-4522) опубліковано 12 жовтня 2012.
- Вразливість обходу $SAFE у Exception#to_s / NameError#to_s (CVE-2012-4464, CVE-2012-4466) опубліковано 12 жовтня 2012.
- Виправлення безпеки RubyGems: збій перевірки SSL-сервера для віддаленого репозиторію опубліковано 20 квітня 2012.
- Виправлення безпеки модуля Ruby OpenSSL: дозволити розділення 0/n як захист від атаки TLS BEAST опубліковано 16 лютого 2012.
- Виявлено DoS-атаку на алгоритм хешування Ruby (CVE-2011-4815) опубліковано 28 грудня 2011.
- Методи Exception можуть обходити $SAFE опубліковано 18 лютого 2011.
- FileUtils вразливий до атак на гонку символічних посилань опубліковано 18 лютого 2011.
- XSS у WEBrick (CVE-2010-0541) опубліковано 16 серпня 2010.
- Переповнення буфера в ARGF.inplace_mode= опубліковано 2 липня 2010.
- WEBrick має вразливість ін’єкції escape-послідовностей опубліковано 10 січня 2010.
- Heap overflow у String (CVE-2009-4124) опубліковано 7 грудня 2009.
- DoS-вразливість у BigDecimal опубліковано 9 червня 2009.
- DoS-вразливість у REXML опубліковано 23 серпня 2008.
- Кілька вразливостей у Ruby опубліковано 8 серпня 2008.
- Вразливості виконання довільного коду опубліковано 20 червня 2008.
- Вразливість доступу до файлів у WEBrick опубліковано 3 березня 2008.
- Вразливість Net::HTTPS опубліковано 4 жовтня 2007.
- Ще одна DoS-вразливість у бібліотеці CGI опубліковано 4 грудня 2006.
- DoS-вразливість у бібліотеці CGI (CVE-2006-5467) опубліковано 3 листопада 2006.
- Вразливість Ruby у налаштуваннях рівня safe опубліковано 2 жовтня 2005.