Уязвимость вызвана ошибкой в функции readRDS, испольщуемой для загрузки файлов в форматах RDS и RDX, которые позволяют передавать сериализированные объекты R для обработки на другой системе. Сериализация даёт возможность зафиксировать состояние и обмениваться наборами данных между программами. Формат RDS позволяет хранить состояние об одном обхекте, а формат RDX в сочетании с файлами RDB даёт возможность передавать сведения о нескольких объектах. Проблема связана с тем, что формат RDS поддерживает объектный код PROMSXP, связанный с типом Promise, который применяется для определения выражений, вызываемых в асинхронном режиме во время использования ассоциированных с ними значений.
Во время десериализации для определения объекта Promise используются три составляющих — значение Promise, выражение и окружение. Если для типа Promise не задано предварительно вычисленное значение, то оно вычисляется при десериализации через выполнение выражения при помощи функции «eval». Таким образом атакующий может добиться выполнения произвольного кода на языке R, подставив его вместо выражения, связанного с невычисленными значениями в файлах RDS или RDX.
Проблема устранена в выпуске R 4.4.0. Проследить за выпуском обновлений пакетов в дистрибутивах можно на страницах Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD.
Источник: http://www.opennet.ru/opennews/art.shtml?num=61093