| name | cis-tomcat9-v120-2.2 |
| description | Alter the Advertised server.number String (Manual) |
| category | cis-tomcat |
| version | 1.2.0 |
| author | cyberstrike-official |
| tags | ["cis","tomcat","linux","java","information-leakage","server-info"] |
| cis_id | 2.2 |
| cis_benchmark | CIS Apache Tomcat 9 Benchmark v1.2.0 |
| tech_stack | ["linux","tomcat","java"] |
| cwe_ids | [] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
Alter the Advertised server.number String (Manual)
Description
The server.number attribute represents the specific version of Tomcat that is executing. This value is presented to Tomcat clients when connect.
Rationale
Advertising a valid server version may provide attackers with information useful for locating vulnerabilities that affect the server platform. Altering the server version string may increase the complexity for attackers to determine which vulnerabilities affect the server platform.
Audit Procedure
Perform the following to determine if the server.number value has been changed: Extract the ServerInfo.properties file and examine the server.number attribute.
$ cd $CATALINA_HOME/lib
$ jar xf catalina.jar org/apache/catalina/util/ServerInfo.properties
$ grep server.number org/apache/catalina/util/ServerInfo.properties
Remediation
Perform the following to alter the server version string that gets displayed when clients connect to the server.
- Extract the ServerInfo.properties file from the catalina.jar file:
$ cd $CATALINA_HOME/lib
$ jar xf catalina.jar org/apache/catalina/util/ServerInfo.properties
- Navigate to the util directory that was created
$ cd org/apache/Catalina/util
- Open ServerInfo.properties in an editor
- Update the
server.number attribute
server.number=<someversion>
- Update the catalina.jar with the modified ServerInfo.properties file.
$ jar uf catalina.jar org/apache/catalina/util/ServerInfo.properties
Default Value
The default value for the server.number attribute is a four part version number, such as 9.0.0.0.
CIS Controls
v8:
- 16.7 Use Standard Hardening Configuration Templates for Application Infrastructure
- Use standard, industry-recommended hardening configuration templates for application infrastructure components. This includes underlying servers, databases, and web servers, and applies to cloud containers, Platform as a Service (PaaS) components, and SaaS components. Do not allow in-house developed software to weaken configuration hardening.