В веб-сервере Apache Tomcat обнаружена критическая уязвимость (CVE-2020-9484), позволяющая злоумышленнику выполнить произвольный код на удаленной системе. Ее эксплуатация возможна в том случае, если одновременно выполняются все приведенные условия:

  • атакующий может контролировать имя файла и его содержимое на сервере;
  • сервер настроен на использование PersistenceManager с FileStore;
  • PersistenceManager настроен с параметром sessionAttributeValueClassNameFilter = "null", если не используется SecurityManager, или достаточно слабым фильтром, позволяющим десериализовать объект, предоставленный злоумышленником;
  • злоумышленник знает относительный путь к файлу от места хранения, используемого FileStore, до места, к которому злоумышленник имеет доступ.

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

Cookie: JSESSIONID=../../../../path_to_file

Проблема актуальна для обширного диапазона версий: 10.0.0-M1 - 10.0.0-M4, 9.0.0.M1 - 9.0.34, 8.5.0 - 8.5.54 и 7.0.0 - 7.0.103, рекомендуется обновить веб-сервер.

Использование Nemesida WAF позволит блокировать попытки эксплуатации этой уязвимости.