TCAT-AS-001660 - STRICT_SERVLET_COMPLIANCE must be set to true.

Information

Strict Servlet Compliance forces Tomcat to adhere to standards specifications including but not limited to RFC2109. RFC2109 sets the standard for HTTP session management. This setting affects several settings which primarily pertain to cookie headers, cookie values, and sessions. Cookies will be parsed for strict adherence to specifications.

Note that changing a number of these default settings may break some systems, as some browsers are unable to correctly handle the cookie headers that result from a strict adherence to the specifications.

This one setting changes the default values for the following settings:

org.apache.catalina.core.
ApplicationContext.GET_RESOURCE_REQUIRE_SLASH
org.apache.catalina.core.
ApplicationDispatcher.WRAP_SAME_OBJECT
org.apache.catalina.core.
StandardHostValve.ACCESS_SESSION
org.apache.catalina.session.
StandardSession.ACTIVITY_CHECK
org.apache.catalina.session.
StandardSession.LAST_ACCESS_AT_START
org.apache.tomcat.util.http.
ServerCookie.ALWAYS_ADD_EXPIRES
org.apache.tomcat.util.http.
ServerCookie.FWD_SLASH_IS_SEPARATOR
org.apache.tomcat.util.http.
ServerCookie.PRESERVE_COOKIE_HEADER
org.apache.tomcat.util.http.
ServerCookie.STRICT_NAMING
The resourceOnlyServlets attribute of any Context element.
The tldValidation attribute of any Context element.
The useRelativeRedirects attribute of any Context element.
The xmlNamespaceAware attribute of any Context element.
The xmlValidation attribute of any Context element.

Solution

From the Tomcat server as a privileged user:

Edit the /etc/systemd/system/tomcat.service file and either add or edit the org.apache.catalina.STRICT_SERVLET_COMPLIANCE setting.

Set the org.apache.catalina.STRICT_SERVLET_COMPLIANCE=true

EXAMPLE:

CATALINA_OPTS='-Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=true'

Restart the Tomcat server:
sudo systemctl restart tomcat
sudo systemctl daemon-reload

See Also

https://dl.dod.cyber.mil/wp-content/uploads/stigs/zip/U_Apache_Tomcat_Application_Server_9_V3R1_STIG.zip

Item Details

Category: CONFIGURATION MANAGEMENT

References: 800-53|CM-6b., CAT|III, CCI|CCI-000366, Rule-ID|SV-223002r961863_rule, STIG-ID|TCAT-AS-001660, STIG-Legacy|SV-111527, STIG-Legacy|V-102587, Vuln-ID|V-223002

Plugin: Unix

Control ID: b31965cb1ec5d9a078b254b9998d3e56428e14bd51265f3fdcc256611da5acec