В RDoc, поставляемом с Ruby, обнаружена уязвимость внедрения команды.
Всем пользователям Ruby рекомендуется обновить RDoc до последней версии, которая исправляет проблему.

## Подробности

Сообщество об уязвимости:

* [CVE-2021-31799](https://www.cve.org/CVERecord?id=CVE-2021-31799)

RDoc использовал `Kernel#open` для открытия локальных файлов. Если имя файла в проекте на Ruby начинается с `|`, а заканчивается на `tags`, то будет выполнена команда, идущая после символа `|`. Вредоносный код на Ruby мог использовать это для выполнения произвольной команды, когда пользователь вводит команду `rdoc`.

Пользователи Ruby, у которых версия RDoc имеет данную уязвимость, должны обновиться до последней версии RDoc.

## Уязвимые версии

* Все версии RDoc от 3.11 до 6.3.0

## Как обновиться

Выполните следующую команду, чтобы обновить RDoc до последней версии (6.3.1 или выше), чтобы исправить уязвимость.

```
gem install rdoc
```

Если вы используете bundler, добавьте `gem "rdoc", ">= 6.3.1"` в ваш `Gemfile`.

## Авторство

Благодарим [Alexandr Savca](https://hackerone.com/chinarulezzz) за сообщение о проблеме.

## История

* Изначально опубликовано в 2021-05-02 09:00:00 UTC
* Ruby 3.0.2 (поставляется с RDoc 6.3.1), Ruby 2.7.4 (поставляется с RDoc 6.2.1.1) and Ruby 2.6.8 (поставляется с RDoc 6.1.2.1) уже содержат исправления и потому не подвержены уязвимости
