A high impact vulnerability was discovered in Apache Log4j 2, a widely deployed software component used by a lot of Java applications to facilitate logging. An attacker who can control the log messages or their parameters can cause the application to execute arbitrary code. In Ubuntu, Apache Log4j2 is packaged under the apache-log4j2 source package – this has been patched already to address this vulnerability as detailed in USN-5192-1 (Dec 14) and USN-5197-1 (Dec 15). This vulnerability has been assigned CVE-2021-44228, CVE-2021-45046 and CVE-2021-45105.
To apply all available fixes to your Ubuntu system type the following commands in a terminal:
$ sudo ua fix CVE-2021-44228
$ sudo ua fix CVE-2021-45046
$ sudo ua fix CVE-2021-45105
Look out for Apache Log4j 2 package usage
The widespread use of the Apache Log4j 2 package, as well as the Java platform’s packaging conventions, have made addressing that vulnerability (by the security industry as a whole) non-trivial. The reason is that this software is not only present in Ubuntu as a packaged component, but separate copies of this software are also often bundled directly in popular applications. In particular, the latter is what makes the task of determining whether a particular application or system is vulnerable quite difficult. Teams have to examine each application individually to find whether applications are vulnerable by “unbundling” them, or by using software bills of materials and manifests. Just updating the Ubuntu packaged version of this software component is likely not sufficient to ensure that all applications which use Apache Log4j 2 are remediated.
We recommend that our users and customers get the latest software security updates from Canonical and verify that any 3rd party Java software they are using is not bundling the log4j packages. To find more information about which Canonical products are affected visit this continuously updated page.