RCE уязвимость в Apache Struts активно эксплуатируется

Apache Struts — популярный фреймворк с открытым исходным кодом, используемый для разработки Java-веб-приложений. В нем была выявлена новая уязвимость (CVE-2024-53677), которая уже активно используется злоумышленниками. Благодаря общедоступному коду PoC (Proof of Concept), они могут загружать на сервер вредоносные файлы и выполнять их.

Apache Struts представляет собой бесплатный и открытый MVC (Model-View-Controller) фреймворк, предназначенный для создания современных и удобных Java-веб-приложений.

Подробности уязвимости

Данная уязвимость вызвана логической ошибкой в механизме загрузки файлов. Злоумышленники могут манипулировать параметрами загрузки файлов, используя уязвимость «path traversal» (обход файловых путей). Это позволяет им загружать вредоносные файлы на сервер и выполнять удаленный код (RCE).

Как заявила Apache:

«Злоумышленник может манипулировать параметрами загрузки файлов, используя уязвимость path traversal, что в некоторых случаях позволяет загрузить вредоносный файл и выполнить его удаленно».

Эта уязвимость похожа на ранее зарегистрированную проблему S2-066 и представляет серьезную угрозу для приложений, использующих уязвимый механизм загрузки файлов.

По словам доктора Йоханнеса Б. Ульриха, декана исследовательского отдела SANS, уязвимость CVE-2024-53677 связана с уязвимостью CVE-2023-50164. Предполагается, что неполный патч для предыдущей уязвимости стал причиной возникновения новой проблемы. Кроме того, для данной уязвимости уже опубликован PoC-код, и наблюдаются активные попытки эксплуатации, направленные на выявление уязвимых систем.

Уязвимость затрагивает следующие версии Apache Struts:

  • Struts 2.0.0 – Struts 2.3.37 (End of Life, больше не поддерживаются);
  • Struts 2.5.0 – Struts 2.5.33;
  • Struts 6.0.0 – Struts 6.3.0.2.

Важно отметить, что приложения, не использующие механизм FileUploadInterceptor, не подвержены данной уязвимости.

Уязвимость получила статус критической из-за возможности выполнения произвольного кода удаленно.

Для защиты систем рекомендуется предпринять следующие шаги:

  1. Обновить Apache Struts до версии 6.4.0 или выше. В этой версии внедрен новый механизм загрузки файлов, устраняющий уязвимость.
  2. Перейти на Action File Upload Interceptor. Миграция на новый механизм загрузки файлов необходима для защиты приложений от атак.

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

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

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

Перейти к содержимому