Apache выпустила обновление безопасности, устраняющее критическую уязвимость в веб-сервере Tomcat. Она может привести к удалённому выполнению кода.
Apache Tomcat — это веб-сервер с открытым исходным кодом и контейнер сервлетов, широко используемый для развёртывания и запуска веб-приложений на основе Java. Он предоставляет среду выполнения для технологий Java Servlets, JavaServer Pages (JSP) и Java WebSocket.
Продукт популярен среди крупных предприятий, которые запускают пользовательские веб-приложения, и поставщиков SaaS, которые используют Java для внутренних служб. Облачные и хостинговые сервисы интегрируют Tomcat для хостинга, а разработчики программного обеспечения используют его для создания, тестирования и развёртывания веб-приложений.
Уязвимость, исправленная в новом выпуске, отслеживается как CVE-2024-56337. Исправление устраняет возможность реализовать критический баг удалённого выполнения кода (RCE). Поставщик 17 декабря уже выпустил неполное исправление.
Проблема кроется в уязвимости TOCTOU (Time of Check to Time of Use, от времени проверки до времени использования), которая затрагивает системы с включённой записью сервлета по умолчанию (параметр инициализации «readonly» установлен на false) и работающие в файловых системах без учёта регистра.
Проблема затрагивает Apache Tomcat 11.0.0-M1 по 11.0.1, 10.1.0-M1 по 10.1.33 и 9.0.0.M1 по 9.0.97.
Пользователям следует обновиться до последних версий Tomcat: 11.0.2, 10.1.34 и 9.0.98.
Для решения проблемы также требуются дополнительные шаги. В зависимости от используемой версии Java пользователям необходимо:
для Java 8 или 11 установить системное свойство «sun.io.useCanonCaches» на «false» (по умолчанию: true);
для Java 17 убедиться, что свойство «sun.io.useCanonCaches», если оно установлено, настроено на «false» (по умолчанию: false).
Для Java 21 и более поздних версий дополнительная настройка не требуется, так как свойство и проблемный кэш были удалены.
Команда Apache поделилась планами по улучшению безопасности в будущих версиях Tomcat 11.0.3, 10.1.35 и 9.0.99. В частности, сервер проверит, что «sun.io.useCanonCaches» установлен правильно, прежде чем разрешить доступ на запись для сервлета по умолчанию в файловых системах, нечувствительных к регистру, и по возможности установит «sun.io.useCanonCaches» на значение false.
О том, как установить и настроить Tomcat, а также об основном функционале веб-сервера можно прочитать здесь.
Источник новости: habr.com