Критическая уязвимость ядра затрагивает все версии Apache Struts 2

Критическая уязвимость ядра затрагивает все версии Apache Struts 2

Критическая уязвимость ядра затрагивает все версии Apache Struts 2

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

Поскольку недостаток безопасности, получивший идентификатор CVE-2018-11776, содержится в ядре Struts, у злоумышленников есть несколько векторов для атаки.

Если для параметра alwaysSelectFullNamespace в конфигурации Struts установлено значение true, то, вероятнее всего, сборка уязвима для таких атак.

Параметр принимает такое значение автоматически при использовании плагина Struts Convention.

Уязвимость обнаружил член команды безопасности Semmle Ман Юэ Мо.

«Эта уязвимость связана с языком Struts OGNL, с которым очень хорошо знакомы киберпреступники. Они уже использовали его в прошлом»,— отмечает Мо.

Поскольку брешь затрагивает все версии Apache Struts 2, компания рекомендуется немедленно обновить свои сборки. Использующие Struts 2.3 должны обновиться до 2.3.35, а те, кто пользуется Struts 2.5, — до версии 2.5.17.

Firefox 148 первым внедрил встроенную защиту от XSS

Mozilla сделала важный шаг в борьбе с одной из самых живучих веб-уязвимостей — XSS (межсайтовый скриптинг). В Firefox 148 компания первой внедрила стандартизированный Sanitizer API, встроенный инструмент для очистки небезопасного HTML прямо на уровне браузера.

XSS десятилетиями остаётся в топе самых распространённых проблем веб-безопасности.

Суть проста: если сайт позволяет злоумышленнику вставить вредоносный HTML или JavaScript через пользовательский контент, атакующий может перехватывать действия пользователя, красть данные и управлять сессией до тех пор, пока уязвимость не будет закрыта. Несмотря на множество защитных механизмов, XSS стабильно держится в числе лидеров рейтингов вроде CWE-79.

Раньше разработчики полагались, например, на Content Security Policy (CSP), но её внедрение часто требовало серьёзной переработки архитектуры и постоянного контроля со стороны специалистов по безопасности. Для небольших проектов это оказывалось слишком сложно.

Sanitizer API призван упростить задачу. Он позволяет очищать небезопасный HTML перед тем, как вставлять его в DOM. Главная цель — заменить рискованное использование свойства innerHTML, которое «слепо» вставляет и исполняет всё, что ему передали.

Вместо этого предлагается метод setHTML(). Если злоумышленник попытается внедрить что-то вроде <img src=x onerror=alert(1)>, новый механизм автоматически удалит опасный атрибут onerror. В итоге пользователь увидит безопасный HTML без выполнения вредоносного кода.

По умолчанию API работает в безопасной конфигурации, но разработчики могут настраивать его под свои задачи — определять, какие теги и атрибуты разрешены, а какие нужно удалять. Для более строгого контроля Sanitizer API можно использовать вместе с Trusted Types, что позволит централизованно управлять вставкой HTML и блокировать небезопасные методы.

Появление Sanitizer API в Firefox 148 фактически открывает новую главу в браузерной защите от XSS. Ожидается, что другие крупные браузеры тоже внедрят этот стандарт.

Если setHTML() действительно начнёт массово вытеснять innerHTML, у разработчиков наконец появится простой и встроенный инструмент против одной из самых старых и упорных уязвимостей интернета.

RSS: Новости на портале Anti-Malware.ru