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

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

С помощью уязвимости злоумышленники могут заставить приложение запускать вредоносный код.

В 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.


Один хакер может причинить столько же вреда, сколько 10 000 солдат! Подпишись на наш Телеграм канал, чтобы узнать первым, как выжить в цифровом кошмаре!