ErrorReportValve showServerInfo must be set to false.
Overview
| Finding ID | Version | Rule ID | IA Controls | Severity |
| V-222975 | TCAT-AS-000920 | SV-222975r961167_rule | CCI-001312 | medium |
| Description | ||||
| The Error Report Valve is a simple error handler for HTTP status codes that will generate and return HTML error pages. It can also be configured to return pre-defined static HTML pages for specific status codes and/or exception types. Disabling showServerInfo will only return the HTTP status code and remove all CSS from the default non-error related HTTP responses. | ||||
| STIG | Date | |||
| Apache Tomcat Application Server 9 Security Technical Implementation Guide | 2025-02-11 | |||
Details
Check Text (C-222975r961167_chk)
As an elevated user on the Tomcat server run the following command:
sudo grep -i ErrorReportValve $CATALINA_BASE/conf/server.xml file.
If the ErrorReportValve element is not defined and showServerInfo set to "false", this is a finding.
EXAMPLE:
<Host ...>
...
<Valve className="org.apache.catalina.valves.ErrorReportValve" showServerInfo="false"/>
...
</Host>
Fix Text (F-24636r426370_fix)
As a privileged user on the Tomcat server:
Edit the $CATALINA_BASE/conf/server.xml file.
Create or modify an ErrorReportValve <Valve> element nested beneath each <Host> element.
EXAMPLE:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="false">
...
<Valve className="org.apache.catalina.valves.ErrorReportValve"
showServerInfo="false" />
...
</Host>
Restart the Tomcat server:
sudo systemctl restart tomcat
sudo systemctl daemon-reload