The DX AXA Engineering team has investigated and determined that few components of the App Experience Analytics contain the log4j versions that may be exposed to the vulnerability.
The Engineering team recommends the following steps to mitigate the exposure to this vulnerability.
For SaaS
The Engineering team has deployed a permanent fix on Dec 19.
For release 21.3.1
Engineering is actively testing a permanent fix on top of 21.3.1 with the Log4j 2.17.0 version. The customers will be notified accordingly.
The mitigation steps below are valid for CVE-2021-44228 (and not for CVE-2021-45046).
STEP#1: Add the environment variable “LOG4J_FORMAT_MSG_NO_LOOKUPS” with value “true” in axa-configmap and bpa-configmap as described below:
If you are using OpenShift
- Go to your dxi project
- Click Resources > Config Maps from left-navigation
- Select each of the config maps and click "Actions", then "Edit YAML"
- Add below line under the "data" section:
LOG4J_FORMAT_MSG_NO_LOOKUPS: "true"
- Click on "Save"
If you are using Kubernetes
kubectl edit configmaps axa-configmap -n<namespace>
kubectl edit configmaps bpa-configmap -n<namespace>
- Add the line:
LOG4J_FORMAT_MSG_NO_LOOKUPS: "true",' under "data"
Here is an example for Kubernetes:

- Save the file
STEP#2: Restart all Pods:
cd <DX_PLATFORM-HOME>tools
./dx-admin.sh stop
Wait for all pods to stop
./dx-admin.sh start
VERIFICATION:
If OpenShift:
Go to Application > Pods
Open axaservices-readserver
Click Terminal
Execute below command to verify new property has been added:
printenv | grep LOG4J_FORMAT_MSG_NO_LOOKUPS
If Kubernetes:
kubectl get pods -n <namespace> | grep axaservices-readserver
kubectl exec -ti <axaservices-readserver-podname> -n <namespace> sh
printenv | grep LOG4J_FORMAT_MSG_NO_LOOKUPS
Engineering is actively working on a permanent fix on top of 21.3.1 with the upgraded log4j2 version. The customers will be notified accordingly.
For release 20.2.1
There is no workaround and customers are recommended to upgrade to 21.3.1 and apply recommendations in above steps.
For releases 17.3.1 and 17.3.2
The Engineering team has provided mitigation steps for 17.3.1 and 17.3.2 on December 28th, 2021. The vulnerabilities are mitigated by removing the JndiLookup.class from jar file.
Pre-Requisites:
- "zip" tool should be installed.
Remediation Steps
The below steps has to performed on all the nodes where the AXA compoents are running.
- Stop all the running Services.
- Go to CA_EMM_HOME/bin directory and run ./stopServices.sh --all
- Create a file "fixlog4shell.sh" in the CA_EMM_HOME directory with executable permissions and add the below content.
- Go to CA_EMM_HOME directory
- touch AXAlog4jFix.sh
- chmod +x AXAlog4jFix.sh
- Upate the file with below content:
#!/bin/bash
#set -x
wget https://github.com/logpresso/CVE-2021-44228-Scanner/releases/download/v2.5.3/logpresso-log4j2-scan-2.5.3-linux.tar.gz
tar -xf logpresso-log4j2-scan-2.5.3-linux.tar.gz
chmod +x log4j2-scan
echo y | ./log4j2-scan --fix ./ --backup-path $CA_EMM_HOME/log4jscan_backup.zip
- Run the script AXAlog4jFix.sh with axauser
- Add the below environment variable to bash profile.
- vi ~/.bashrc
- Append "export LOG4J_FORMAT_MSG_NO_LOOKUPS=true"
- Start all the running Services.
- Go to CA_EMM_HOME/bin directory and run ./startServices.sh --all