Компонент Commons FileUpload фреймворка Apache Struts 2.3.36 и более ранних выпусков содержит баг удаленного исполнения кода, обнаруженный два года назад. Пользователей призывают как можно скорее обновить уязвимую библиотеку, установив версию 1.3.3 вручную.

«Удаленный злоумышленник может воспользоваться брешью для захвата контроля над системой, — сказано в бюллетене Apache Software Foundation. — Уязвимость затрагивает проекты со встроенным механизмом загрузки файлов Struts 2, который по умолчанию диктует использование commons-fileupload. Библиотека обновлена и готова к установке вместо уязвимой версии. В развернутых приложениях замену можно произвести, отыскав jar-файл commons-fileupload в папке WEB-INF/lib».

Критическая уязвимость CVE-2016-1000031 вызвана возможностью десериализации данных из недоверенных источников. Эксплойт позволяет путем манипуляции Java-объектом записывать или копировать файлы в произвольное место на диске. Данная брешь несколько напоминает другой RCE-баг в Apache Struts — CVE-2017-5638, наличие которого послужило причиной масштабной утечки в Equifax.

Уязвимость CVE-2016-1000031 была окончательно пропатчена в июне прошлого года, однако исправление, видимо, не было учтено при выпуске новых сборок Apache Struts, том числе 2.3.36, появившейся в прошлом месяце. В Struts 2.5.х эта проблема отсутствует, так как эта ветка использует пропатченную версию библиотеки.

Замена компонента Commons FileUpload — непростая задача. «Легкого решения вроде установки новой версии Struts не существует, — предупреждает Иоганнес Улльрих (Johannes Ullrich) из института SANS. — Библиотеку commons-fileupload придется заменять вручную. И не забудьте тщательно проверить системы на наличие других копий уязвимой библиотеки. Она используется не только в Struts, другие вендоры тоже могли проглядеть необходимость обновления».

Это лишь очередная проблема, связанная с Apache Struts. В августе, например, разработчики выпустили патч для уже атакуемой бреши, позволяющей удаленно выполнить вредоносный код, а также перехватить контроль над сервером.

Категории: Уязвимости