blob: 182f987e2532a4c82378bcba283867156b3c966d [file]
<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link href="res/css/tomcat.css" rel="stylesheet" type="text/css"><link href="res/css/fonts/fonts.css" rel="stylesheet" type="text/css"><title>Apache Tomcat&reg; - Security Model</title><meta name="author" content="Apache Tomcat Project"><script src="https://www.apachecon.com/event-images/snippet.js"></script></head><body><div id="wrapper"><header id="header"><div class="clearfix"><div class="menu-toggler pull-left" tabindex="1"><div class="hamburger"></div></div><a href="http://tomcat.apache.org/"><img class="tomcat-logo pull-left noPrint" alt="Tomcat Home" src="res/images/tomcat.png"></a><h1 class="pull-left">Apache Tomcat<sup>&reg;</sup></h1><div class="asf-logos pull-right"><a href="https://www.apache.org/foundation/contributing.html" target="_blank" class="pull-left"><img src="https://www.apache.org/images/SupportApache-small.png" class="support-asf" alt="Support Apache"></a><a href="http://www.apache.org/" target="_blank" class="pull-left"><img src="res/images/asf_logo_wide.svg" class="asf-logo" alt="The Apache Software Foundation"></a></div></div></header><main id="middle"><div><div id="mainLeft"><div id="nav-wrapper"><form action="https://www.google.com/search" method="get"><div class="searchbox"><input value="tomcat.apache.org" name="sitesearch" type="hidden"><input aria-label="Search text" placeholder="Search&hellip;" required="required" name="q" id="query" type="search"><button>GO</button></div></form><div class="asfevents"><a class="acevent" data-format="square" data-width="150"></a></div><nav><div><h2>Apache Tomcat</h2><ul><li><a href="./index.html">Home</a></li><li><a href="./taglibs.html">Taglibs</a></li><li><a href="./maven-plugin.html">Maven Plugin</a></li></ul></div><div><h2>Download</h2><ul><li><a href="./whichversion.html">Which version?</a></li><li><a href="https://tomcat.apache.org/download-11.cgi">Tomcat 11</a></li><li><a href="https://tomcat.apache.org/download-10.cgi">Tomcat 10</a></li><li><a href="https://tomcat.apache.org/download-90.cgi">Tomcat 9</a></li><li><a href="https://tomcat.apache.org/download-migration.cgi">Tomcat Migration Tool for Jakarta EE</a></li><li><a href="https://tomcat.apache.org/download-connectors.cgi">Tomcat Connectors</a></li><li><a href="https://tomcat.apache.org/download-native.cgi">Tomcat Native</a></li><li><a href="https://tomcat.apache.org/download-taglibs.cgi">Taglibs</a></li><li><a href="https://archive.apache.org/dist/tomcat/">Archives</a></li></ul></div><div><h2>Documentation</h2><ul><li><a href="./tomcat-11.0-doc/index.html">Tomcat 11.0</a></li><li><a href="./tomcat-10.1-doc/index.html">Tomcat 10.1</a></li><li><a href="./tomcat-9.0-doc/index.html">Tomcat 9.0</a></li><li><a href="./upgrading.html">Upgrading</a></li><li><a href="./connectors-doc/index.html">Tomcat Connectors</a></li><li><a href="./native-doc/index.html">Tomcat Native 2</a></li><li><a href="./native-1.3-doc/index.html">Tomcat Native 1.3</a></li><li><a href="https://cwiki.apache.org/confluence/display/TOMCAT">Wiki</a></li><li><a href="./migration.html">Migration Guide</a></li><li><a href="./presentations.html">Presentations</a></li><li><a href="https://cwiki.apache.org/confluence/x/Bi8lBg">Specifications</a></li></ul></div><div><h2>Problems?</h2><ul><li><a href="./security.html">Security Reports</a></li><li><a href="./findhelp.html">Find help</a></li><li><a href="https://cwiki.apache.org/confluence/display/TOMCAT/FAQ">FAQ</a></li><li><a href="./lists.html">Mailing Lists</a></li><li><a href="./bugreport.html">Bug Database</a></li></ul></div><div><h2>Get Involved</h2><ul><li><a href="./getinvolved.html">Overview</a></li><li><a href="./source.html">Source code</a></li><li><a href="./ci.html">Buildbot</a></li><li><a href="./tools.html">Tools</a></li></ul></div><div><h2>Media</h2><ul><li><a href="https://www.youtube.com/c/ApacheTomcatOfficial">YouTube</a></li></ul></div><div><h2>Misc</h2><ul><li><a href="./whoweare.html">Who We Are</a></li><li><a href="https://www.redbubble.com/people/comdev/works/30885254-apache-tomcat">Swag</a></li><li><a href="./heritage.html">Heritage</a></li><li><a href="http://www.apache.org">Apache Home</a></li><li><a href="./resources.html">Resources</a></li><li><a href="./contact.html">Contact</a></li><li><a href="./legal.html">Legal</a></li><li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li><li><a href="https://www.apache.org/foundation/contributing.html">Support Apache</a></li><li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li><li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li><li><a href="http://www.apache.org/licenses/">License</a></li></ul></div></nav></div></div><div id="mainRight"><div id="content"><h2 style="display: none;">Content</h2><h3 id="Security_model_for_Apache_Tomcat">Security model for Apache Tomcat</h3><div class="text">
<div class="subsection"><h4 id="Introduction">Introduction</h4><div class="text">
<p>The Apache Tomcat<sup>&reg;</sup> Security Team reviews reported
vulnerabilities against the following security model:</p>
</div></div>
<div class="subsection"><h4 id="Administrative_users">Administrative users</h4><div class="text">
<p>Administrative users are always considered to be trusted. Reports for
vulnerabilities where an attacker already has access to or control over
any of the following will be rejected:</p>
<ul>
<li>Tomcat binaries and/or scripts.</li>
<li>Tomcat configuration files.</li>
<li>Tomcat log files.</li>
<li>The temp directory (by default <code>$CATALINA_BASE/temp</code>)</li>
<li>Web application working directories (by default
<code>$CATALINA_BASE/work</code>)</li>
<li>The persisted session store.</li>
<li>The Manager or Host Manager web applications provided with Tomcat.</li>
<li>The JMX API (local or remote).</li>
<li>The Java Attach API or any other debugging interface.</li>
</ul>
<p>Reports for vulnerabilities where an attacker tricks an administrative
user into performing an action the administrator did not intend to
perform (e.g. CSRF vulnerabilities) will be accepted.</p>
</div></div>
<div class="subsection"><h4 id="Web_applications">Web applications</h4><div class="text">
<p>Web applications deployed to Tomcat are considered to be trusted.
Vulnerabilities in user-provided web applications are application
vulnerabilities, not Tomcat vulnerabilities.</p>
<p>Web applications that enable functionality that allows the modification
of the web application (e.g. WebDAV, HTTP PUT requests or similar) are
expected to take steps to secure that functionality. Failure to do so
is an application vulnerability, not a Tomcat vulnerability.</p>
<p>Reports of vulnerabilities in the web applications included with
standard Tomcat distributions from the ASF will be accepted. Reporters
should review the comments about each of the provided applications in
the <strong><i>Security Considerations</i></strong> section of the
documentation for the version under test.</p>
</div></div>
<div class="subsection"><h4 id="Connectors">Connectors</h4><div class="text">
<p>Data received via a Connector, regardless of protocol, is considered to
be untrusted with the exception of:</p>
<ul>
<li>The standard request attributes and any arbitrary request attributes
permitted by <code>allowedRequestAttributesPattern</code> for an AJP
connector.</li>
<li>HTTP headers processed by a <code>RemoteIpValve</code>,
<code>SSLValve</code>, equivalent filters
(<code>RemoteIpFilter</code>) or any similar functionality.</li>
</ul>
<p>All clients (including reverse proxies) are responsible for the
consequences of the data they present to Tomcat. If a client presents a
(potentially malformed) request that Tomcat processes as per the
specification for the configured protocol, then any security impact to
the client is the client's responsibility.</p>
</div></div>
<div class="subsection"><h4 id="Clustering">Clustering</h4><div class="text">
<p>Cluster traffic requires a trusted network unless the
<code>EncryptInterceptor</code> is used in which case confidentiality
and integrity will be protected but not availability.</p>
<p>Multicast cluster membership always requires a trusted network.</p>
</div></div>
<div class="subsection"><h4 id="Logging">Logging</h4><div class="text">
<p>Security-sensitive information will not be logged with the default
configuration apart from anything included in the request URI.</p>
<p>Security-sensitive information may be logged with modified logging
configurations, particularly if debug logging is enabled.</p>
<p>The default logs are likely to contain personally identifiable
information (PII) such as the IP address of users.</p>
<p>Tomcat is not responsible for the content of log messages generated by
applications.</p>
</div></div>
</div><h3 id="Known_non-findings">Known non-findings</h3><div class="text">
<p>The following non-findings are frequently reported to the Tomcat security
team despite them being invalid as per the security model described
above. Repeated reports of non-findings from any source will be treated
as spam and will result in all email from the source being blocked at the
ASF's border.</p>
<ol>
<li>Any report that depends on deserialisation within the clustering code
(<code>org.apache.catalina.ha</code>
<code>org.apache.catalina.tribes</code> and all sub-packages) when the
EcryptInterceptor has not been configured.</li>
<li>Any report that depends on an attacker controlling a node within a
cluster.</li>
<li>Any report that depends on modification of persisted session data
where the mechanism to modify the persisted session data is not
accessible to a non-administrative user.</li>
<li>Any report that depends on write access to an application's
<code>docBase</code>.</li>
<li>Any report that depends on attacker controlled SSI directives.</li>
</ol>
</div></div></div></div></main><footer id="footer">
Copyright &copy; 1999-2026, The Apache Software Foundation
<br>
Apache Tomcat, Tomcat, Apache, the Apache Tomcat logo and the Apache logo
are either registered trademarks or trademarks of the Apache Software
Foundation.
</footer></div><script src="res/js/tomcat.js"></script></body></html>