Уязвимость в Apache Struts, позволяющая выполнить код на сервере

В web-фреймворке Apache Struts, применяемом для создания web-приложений на языке Java с использованием парадигмы ММС (Model-View-Controller), выявлена уязвимость (CVE-2024-53677). Уязвимость даёт возможность внешнему злоумышленнику записать файл в произвольное место файловой системы на сервере через отправку специально оформленного HTTP-запроса. Проблема затрагивает выпуски с 2.0.0 по 2.3.37, c 2.5.0 по 2.5.33 и с 6.0.0 по 6.3.0.2, и проявляется в приложениях, использующих компонент FileUploadInterceptor за загрузки файлов сервер.

Уязвимость вызвана отсутствием должной проверки параметров, передаваемых при загрузке файлов. При наличии доступа к функциям загрузки файлов в реализованном на базе Apache Struts web-интерфейсе, атакующий может указать значение вида «../../../../../webapps/ROOT» и добиться сохранения файла за пределами каталога для хранения загружаемых данных (прототип эксплоита). Получив возможность записи файлов в произвольные части ФС можно организовать выполнение своих команд на сервере, перезаписав скрипты или файлы конфигурации, насколько это позволяют права пользователя, под которым выполняется web-приложение. Если web-приложение выполняется в контейнере Apache Tomcat, запускаемом с правами root, атакующий может получить привилегированный доступ в систему.

Уязвимости в Apache Struts имеют значение, так как данный фреймворк пользуется популярностью в корпоративных системах, доступных через web. По статистике RedMonk фреймворк Apache Struts применялся в web-приложениях 65% компаний из списка Fortune 100. В 2017 году атака на информационную систему компании Equifax, использующую уязвимую версию Apache Struts, привела к утечке персональных данных 143 млн жителей США.

Источник: http://www.opennet.ru/opennews/art.shtml?num=62424