Особенность языка R позволяет выполнять код с помощью RDS и RDX-файлов

Особенность языка R позволяет выполнять код с помощью RDS и RDX-файлов

Особенность языка R позволяет выполнять код с помощью RDS и RDX-файлов

Новая брешь обнаружена в софте, написанном на языке программирования R, которая позволяет выполнить произвольный код при десериализации специально созданных файлов RDS и RDX.

R — это язык программирования с открытым исходным кодом, который особенно популярен среди статистиков и специалистов по сбору данных, также использующийся в областях машинного обучения и искусственного интеллекта.

Специалисты из HiddenLayer обнаружили в программах на R уязвимость CVE-2024-27322, которая оценивается в 8,8 балла по метрике CVSS. Данная брешь позволяет злоумышленникам выполнять произвольный код на целевых машинах, когда жертва открывает RDS или RDX-файлы.

Уязвимость использует способ, которым R обрабатывает сериализацию и десериализацию, в частности с помощью «объектов обещаний» и «ленивой оценки».

 

Хакеры внедряют объект обещаний с произвольным кодом в RDS-файл, который будет выполнен при условии загрузки заражённого объекта.

Сложность атаки заключается в том, что злоумышленники должны убедить жертву скачать данный файл себе на устройство. Некоторые хакеры выбирают пассивный вариант, распространяя зараженные пакеты в широко используемых репозиториях.

Язык программирования R все чаще используется в критически важных отраслях, поэтому данная проблема вызывает опасения. Уязвимость может привести к полной компрометации системы, в которой запущена программа.

Просматривая репозитории, исследователи из HiddenLayer обнаружили, что readRDS, один из многих способов эксплуатации этой уязвимости, упоминается более чем в 135 000 исходных файлов R. Среди исходных файлов, содержащих потенциально уязвимый код, были проекты от R Studio, Facebook, Google, Microsoft, AWS и других крупных производителей программного обеспечения.

Эксперты CERT/CC предупредили организации, использующие R и функцию readRDS в непроверенных пакетах, о необходимости обновления до R Core версии 4.4.0, в которой была устранена уязвимость.

Для пользователей, не имеющих возможности перехода на новую версию, рекомендовано внедрить дополнительные уровни безопасности, например, запускать файлы RDS/RDX в изолированных средах, таких как песочницы и контейнеры, чтобы предотвратить выполнение кода в базовой системе.

Поле Чудес 2 из 1993 года вернулось: ИИ восстановил код за пару часов

ИИ воскресил легендарную игру «Поле Чудес 2» из 1993 года, исходников не было вообще. Разработчик Денис Ширяев рассказал, что с помощью ИИ Claude Fable 5 смог восстановить и перенести в браузер культовую DOS-игру «Поле Чудес 2», вышедшую ещё в 1993 году.

Главная интрига в том, что оригинальные исходники проекта были утеряны много лет назад. Фактически от игры остался только исполняемый файл.

Вместо ручной декомпиляции и многомесячной реконструкции Ширяев решил проверить возможности ИИ и скормил Claude Fable 5 бинарник старой игры.

По словам разработчика, нейросеть проанализировала машинный код, восстановила игровую логику, извлекла графические ресурсы и переписала проект на TypeScript. Весь процесс занял около двух часов, а расходы на API составили примерно 100 долларов.

 

В итоге появилась полноценная браузерная версия «Поля Чудес 2». В ней сохранены заставка, ввод имени игрока, турнир из восьми этапов, знаменитое колесо с секторами, мини-игра со шкатулками и даже внутриигровой магазин призов.

Более того, автор отдельно восстановил оригинальный генератор случайных чисел, благодаря чему некоторые игровые сценарии могут совпадать с DOS-версией почти один в один.

Сам Ширяев называет Fable и Mythos лазером для разработки ПО. По его словам, современные ИИ-системы уже способны выполнять задачи, которые ещё недавно потребовали бы серьёзной команды реверс-инженеров и десятков часов ручной работы.

Проект опубликован на GitHub под лицензией MIT. Исходный код доступен всем желающим, а поиграть в восстановленную версию можно прямо в браузере.

RSS: Новости на портале Anti-Malware.ru