Apache Tomcat
TMA-TOMCAT-4.10
Restrict access to Tomcat context.xml
Description
The context.xml file is loaded by all web applications and sets certain configuration options. It is recommended that access to this file properly protect from unauthorized changes. $CATALINA_BASE/conf/context.xml must not match -perm /o+rwx,g+rwx,u+x and must be owned by $TOMCAT_OWNER:$TOMCAT_GROUP; expects 0 findings. Reads $CATALINA_BASE (default /opt/tomcat) and $CATALINA_HOME (default: $CATALINA_BASE); set them for packaged installs (e.g. CATALINA_BASE=/var/lib/tomcat10, CATALINA_HOME=/usr/share/tomcat10). XML comments are ignored. The expected owner/group are tomcat_admin:tomcat as in the benchmark; override with TOMCAT_OWNER / TOMCAT_GROUP.
How it is checked
Audit method: Shell command
B=${CATALINA_BASE:-/opt/tomcat}; H=${CATALINA_HOME:-$B}; O=${TOMCAT_OWNER:-tomcat_admin}; G=${TOMCAT_GROUP:-tomcat}; x(){ [ -r "$1" ] || return 1; awk 'BEGIN{RS="<!--"} NR==1{print;next} {i=index($0,"-->"); if(i) print substr($0,i+3)}' "$1" | tr '\n\t\r' ' ' | tr '<' '\n'; }; p="$B/conf/context.xml"; [ -e "$p" ] || exit 1; find -L "$p" -maxdepth 0 \( -perm /o+rwx,g+rwx,u+x -o ! -user "$O" -o ! -group "$G" \) -print 2>/dev/null | wc -l- Expected output
0
How it is fixed
Fix method: Guidance or infrastructure patch
chown tomcat_admin:tomcat $CATALINA_BASE/conf/context.xml && chmod 600 $CATALINA_BASE/conf/context.xml. Restart Tomcat afterwards.
Properties
- Operating systems
- Any
- Tags
- tomcatpermissions
- Reference
- CIS Apache Tomcat 10.1 Benchmark v1.0.0 - 4.10 Restrict access to Tomcat context.xml
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target tomcat