Нова критична уязвимост е открита в популярен фреймуърк за Java. Бъг в Struts 2 позволява зареждане на външни файлове и изпълнение на произволен код. Експертите препоръчват спешно инсталиране на вече пуснатите актуализации, тъй като експлоатацията на уязвимостта е в разгара си.
Фондацията Apache уведоми обществеността за критична уязвимост в своята популярна рамка за разработка на уеб приложения Struts 2. Критичната уязвимост CVE-2023-50164 позволява изпълнение на злонамерен код в контекста на Struts 2.
Проблемът е свързан с грешка в „логиката за качване на файл”, която позволява да бъде заобиколен планираният път и при определени условия атакуващите могат да качат злонамерен файл и да предизвикат изпълнение на произволен код.
Уязвимостта е открита от Стивън Сийли от Source Incite. Версиите, за които в момента се знае, че са уязвими, са Struts 2.3.37 (остаряла), Struts 2.5.0 – Struts 2.5.32 и Struts 6.0.0 – Struts 6.3.0.1. Съответните корекции, индексирани като 2.5.33 и 6.3.0.2, елиминират грешката. Процесът на инсталиране на актуализациите е тривиален.
Struts 2 е рамка за създаване на уеб приложения в Java, която се отличава с по-гъвкава архитектура – Model-View-Controller (MVC), интегрирана AJAX поддръжка за създаване на интерактивни приложения и други предимства.
Разработчиците твърдят, че Struts разполага с вградени механизми за сигурност и защита срещу атаки, но тази рамка редовно се оказва в заглавията на новините за киберсигурност, поради откриването на грешки в нея, включително критични.
Бюлетинът на Apache силно препоръчва инсталиране на най-новите актуализации за отстраняване на новооткритата уязвимост. Освен това е готов тестов експлойт: публикуван е в GitHub и вече има опити да се използва в реални атаки.
Представители на Akamai споделят пред The Hacker News, че нападателите се опитват да използват тази уязвимост, за да инсталират уеб обвивки и да установят присъствието си в мрежите на други потребители. Усилията им изглеждат успешни поне в някои случаи.