| <!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® - 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>®</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…" 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>®</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 © 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> |