Проблема была обнаружена в Ruby 2.5.x до 2.5.7, 2.6.x до 2.6.5 и 2.7.0. Если жертва вызывает BasicSocket#read_nonblock(requested_size, buff…
Проблема была обнаружена в Ruby 2.5.x до 2.5.7, 2.6.x до 2.6.5 и 2.7.0. Если жертва вызывает BasicSocket#read_nonblock(requested_size, buffer, exception: false), метод изменяет размер буфера в соответствии с запрошенным размером, но данные не копируются. Таким образом, строка буфера предоставляет предыдущее значение кучи. Это может раскрыть потенциально конфиденциальные данные из интерпретатора.
Продукт выполняет последовательную операцию чтения или записи в буфер, используя некорректное значение длины, что приводит к обращению к памяти за пределами буфера.
https://cwe.mitre.org/data/definitions/805.html →Открыть в коллекции CWE →Продукт использует ресурс или обращается к нему, хотя тот не был инициализирован.
https://cwe.mitre.org/data/definitions/908.html →Открыть в коллекции CWE →Атаки типа «Переполнение буфера» направлены против некорректной или отсутствующей проверки границ при операциях с буфером, которые, как правило, инициируются входными данными, внедрёнными злоумышленником. В результате злоумышленник получает возможность записывать данные за границами выделенных областей буфера в памяти, что приводит к аварийному завершению программы или, в зависимости от выбора злоумышленника, к перенаправлению потока исполнения.
https://capec.mitre.org/data/definitions/100.html →Открыть в коллекции CAPEC →Злоумышленник отправляет SOAP-запрос с массивом, фактическая длина которого превышает длину, указанную в запросе. Если сервер, обрабатывающий передачу, наивно доверяет указанному размеру, злоумышленник может намеренно занизить размер массива, что потенциально приведёт к переполнению буфера, если сервер попытается прочитать весь набор данных в память, выделенную для массива меньшего размера.
https://capec.mitre.org/data/definitions/256.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| rh-ruby25-ruby | Отслеживается | |
| rh-ruby25-ruby | Отслеживается | |
| rh-ruby25-ruby | Отслеживается | |
| rh-ruby26-ruby | Отслеживается | |
| rh-ruby26-ruby | Отслеживается | |
| ruby | Отслеживается | |
| ruby | Отслеживается | |
| ruby | Отслеживается | |
| ruby | Отслеживается | |
| ruby1.9.1 | Отслеживается | |
| ruby2.0 | Отслеживается | |
| ruby2.1 | Отслеживается | |
| ruby2.3 | Отслеживается | |
| ruby2.3 | Отслеживается | |
| ruby2.5 | Отслеживается | |
| ruby2.5 | Отслеживается | |
| ruby2.5 | Отслеживается | |
| ruby2.7 | Отслеживается | |
| ruby2.7 | Отслеживается | |
| ruby2.7 | Отслеживается |