Каковы побочные эффекты использования mapperDirectoryRedirectEnabled = true и mapperContextRootRedirectEnabled = "true" в контексте tomcat - PullRequest
0 голосов
/ 24 октября 2018

Недавно Tomcat выпустил CVE-2018-11784 (проблема перенаправления Apache Tomcat), и в нем говорится, что моя версия tomcat 7, которую я использую, затронута.

https://bugzilla.redhat.com/show_bug.cgi?id=1636512 https://lists.apache.org/thread.html/23134c9b5a23892a205dc140cdd8c9c0add233600f76b313dda6bd75@%3Cannounce.tomcat.apache.org%3E

Однако они также упомянули шаги по смягчению, которые должны быть выполнены.Одним из шагов по смягчению является включение атрибутов mapperDirectoryRedirectEnabled и mapperContextRootRedirectEnabled в true в context.xml.

В настоящее время мы не используем никаких атрибутов, но согласно документации Apache Tomcat (https://tomcat.apache.org/tomcat-7.0-doc/config/context.html)), значения по умолчанию для этих атрибутов, если они не используются, указаны ниже

  1. По умолчанию -> mapperContextRootRedirectEnabled будет «true»
  2. По умолчанию -> mapperDirectoryRedirectEnabled будет «false»

А также tomcat cve упоминает, что если mapperDirectoryRedirectEnabled = enabled, " Если включено, запросы на каталог веб-приложения будут перенаправляться (добавляя завершающую косую черту), если необходимо, Mapper, а не сервлетом по умолчанию. Это более эффективно, но имеет побочный эффект подтверждения того, что каталог существуетЕсли не указано иное, используется значение по умолчанию false.

Не могли бы вы дать мне знать, какие побочные эффекты могут возникнуть, когда мы используем их или включаем эти атрибуты?

1 Ответ

0 голосов
/ 24 октября 2018

В настоящее время мы не используем никаких атрибутов, но согласно документации Apache Tomcat (https://tomcat.apache.org/tomcat-7.0-doc/config/context.html)), значения по умолчанию для этих атрибутов, если они не используются, приведены ниже

  1. Электронная документация для текущей (последней) выпущенной версии Tomcat. * На момент написания этой статьи 7.0.91.

    Если вы используете любую более старую версию, вы должны проконсультироватьсяВаша собственная копия веб-приложения документации для используемой версии. Особенно, когда речь идет о параметрах, чувствительных к безопасности. Обратите внимание, что старые версии можно загрузить с сайта «Архивы», как указано на странице загрузки. Существует «Полная документация»архив (fulldocs.tar.gz) для каждой версии.

  2. Эти параметры определяют, что происходит, когда клиент запрашивает http://yousite/yourapp или http://yousite/yourapp/yourdir без завершающего символа '/' в URL.

    Tomcat должен ответить перенаправлением 302 на http://yousite/yourapp/ или http://yousite/yourapp/yourdir/ соответственно.

    Параметр управления где (в стеке вызовов / конвейере) tперенаправление происходит.Трубопровод обычно Connector (койот) → CoyoteAdapterMapperValvesFiltersServlet.

    Если перенаправление происходит в Mapper, это означает, что302 ответ перенаправления будет отправлен клиенту до того, как любой Valve увидит запрос.Если в вашем конвейере есть RemoteAddrValve, он не увидит этот запрос и не сможет отклонить его.

    Все старые версии Tomcat (ранее декабря 2015 г. - ранее 7.0.66) ведут себякак будто оба из этих mapper * RedirectEnabled параметров верны.

...