Understanding and Mitigating log4j Vulnerabilities

Traducciones al Español
Estamos traduciendo nuestros guías y tutoriales al Español. Es posible que usted esté viendo una traducción generada automáticamente. Estamos trabajando con traductores profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.
Create a Linode account to try this guide with a $ credit.
This credit will be applied to any valid services used during your first  days.

Understanding log4j Vulnerabilities

Recently, a series of new critical 0-day vulnerabilities, CVE-2021–44228 and CVE-2021-45046 have been disclosed, with CVE-2021-44228 receiving a 10.0 CVSS score indicating the highest level of severity. Both vulnerabilities are of significant concern to those implementing applications that use Java’s log4j logging service. When unpatched, attacks can include remote code execution on effected systems via unauthenticated web requests and more vulnerabilities likely to be announced.

Log4j is often included in software packages and tools without explicit mention, and as such, has the potential to go unnoticed within user systems without a deliberate investigation. Additionally, vulnerable log4j implementations can be hidden within configuration files such as .jar files, potentially making full detection via traditional methods such as the find or locate commands insufficient.

Before proceeding, it should be noted that the above mentioned log4j vulnerabilities only impact versions of log4j using versions log4j 2.x and later, and patches are being rolled out by the Apache Foundation regularly. For any updates on these patches, it is recommended that users review Apache’s log4j Security Page for additional information.

The steps in this guide aim to empower you to proactively discover log4j vulnerabilities on your system, and mitigate them where needed.

Note
For more information on how Linode has handled log4j vulnerabilities, and a detailed writeup on CVE-2021-44228 specifically, as well as mitigation steps, see our Security Digest.

Identifying log4j issues and potential compromises on Linode

Searching for software affected by log4j is a good first step for identifying impact, and both the NCSC and CISA have compiled comprehensive lists built to help you to discover the full scope of impacted software. Additionally we recommend performing scans using open-source tools created by reputable security experts that have been constructed specifically to identify log4j vulnerabilities that may be unique to your configuration. A list of useful tools and resources, as well as a brief description of each, are listed below:

Note
Containerized applications using tools like Docker and Kubernetes may not be detected via the above methods if performed only from the host device, and identification steps should be performed directly from within containers.

The following commands may also be used towards manually identifying log4j packages and affected files on your system:

dpkg -l | grep liblog4j
dpkg -l | grep log4
find / -name log4j-core-*.jar
locate log4j | grep -v log4js

Log4j Vulnerability Mitigation

If log4j is detected on your system, mitigation can be performed by immediately installing the Latest Software Version which will include the latest available software patches. Installing log4j 2.16.0 for example will completely disables JNDI by default and removes support for Message Lookups to apply mitigation. If patching your system is not possible by updating your version of log4j, then users should follow CISA’s Recommended Workarounds with the understanding that a full log4j software version update is recommended.

If you believe a compromise has occurred, we recommend following the steps in our guide for Recovering From a System Compromise.

As log4j is, at the time of this writing, still a developing issue, it is recommended that users continue to regularly monitor the situation from both CISA’s Guidance Page and Apache’s log4j Vulnerabilities Page

This page was originally published on


Your Feedback Is Important

Let us know if this guide was helpful to you.


Join the conversation.
Read other comments or post your own below. Comments must be respectful, constructive, and relevant to the topic of the guide. Do not post external links or advertisements. Before posting, consider if your comment would be better addressed by contacting our Support team or asking on our Community Site.