Rule ID
SV-241682r879652_rule
Version
V1R2
CCIs
CCI-001310
Invalid user input occurs when a user inserts data or characters into a hosted application's data entry field and the hosted application is unprepared to process that data. This results in unanticipated application behavior, potentially leading to an application compromise. Invalid user input is one of the primary methods employed when attempting to compromise an application. An attacker can also enter Unicode into hosted applications in an effort to break out of the document home or root home directory or to bypass security checks. As a web server, tc Server can be vulnerable to character encoding attacks if steps are not taken to mitigate the threat. VMware utilizes the standard Tomcat “setCharacterEncodingFilter” filter to provide a layer of defense against character encoding attacks. Filters are Java objects that performs filtering tasks on either the request to a resource (a servlet or static content), or on the response from a resource, or both.
Navigate to and open /usr/lib/vmware-vcops/tomcat-web-app/conf/web.xml. Verify that the 'setCharacterEncodingFilter' <filter> has been specified with the following command: grep -B 2 -A 7 setCharacterEncodingFilter /usr/lib/vmware-vcops/tomcat-web-app/conf/web.xml If the “setCharacterEncodingFilter” filter has not been specified or is commented out, this is a finding.
Navigate to and open /usr/lib/vmware-vcops/tomcat-web-app/conf/web.xml.
Configure the <web-app> node with the <filter> node listed below.
<filter>
<filter-name>setCharacterEncodingFilter</filter-name>
<filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
<param-name>ignore</param-name>
<param-value>false</param-value>
</init-param>
<async-supported>true</async-supported>
</filter>
<filter-mapping>
<filter-name>setCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>