Исправленная в Java, .NET и PHP ошибка десериализации теперь обнаружена в Ruby

Blue Sunset

Профессионал
Ветеран пробива
ПРОВЕРЕННЫЙ ПРОДАВЕЦ ⭐⭐⭐
ЗАБАНЕН
Private Club
Регистрация
27/11/16
Сообщения
4.409
Репутация
19.455
Реакции
22.575
RUB
0
Сделок через гаранта
92
Если вы планируете сделку с его участием, мы настоятельно рекомендуем вам не совершать ее до окончания блокировки. Если пользователь уже обманул вас каким-либо образом, пожалуйста, пишите в арбитраж, чтобы мы могли решить проблему как можно скорее.
С помощью уязвимости злоумышленники могут заставить приложение запускать вредоносный код.

В 2015 году в Java была обнаружена так называемая «ошибка десериализации», вызвавшая хаос во всей экосистеме и получившая название Java Apocalypse. Двумя годами позднее она была обнаружена в .NET и PHP, а на прошлой неделе исследователи австралийской компании Elttam также несколько уязвимых приложений, написанных на Ruby.

Уязвимость связана с тем, как Ruby обрабатывает процессы сериализации и десериализации. Сериализация представляет собой процесс преобразования объекта в поток байтов для сохранения или передачи в память, а противоположный процесс называется десериализация. Обе операции поддерживаются практически всеми языками программирования (названия процессов могут отличаться, но принцип остается тот же самый).

Обнаруженная несколько лет назад уязвимость позволяет использовать процессы сериализации и десериализации с целью заставить приложение запускать вредоносные команды, в особенности когда пользователь вводит данные непосредственно в сериализатор без предварительной проверки.

В свое время Apache, Cisco, Red Hat, VMWare, IBM, Intel, Adobe, HP, Jenkins и SolarWinds выпустили соответствующие уведомления и обновления безопасности, исправляющие уязвимость Java Apocalypse. В 2017 году проблема была обнаружена в.NET и PHP, а теперь настал черед Ruby. Проблема затрагивает версии от 2.0 до 2.5.
 
Сверху Снизу