ArcGIS and Apache Log4j Vulnerabilities

While Log4j issues have been mitigated for previous releases, we recommend customers upgrade to ArcGIS Enterprise 11.1 to eliminate potential security scanner false positives.

Esri has investigated the impact of the following Log4j library vulnerabilities as some Esri products contain this common logging tool:

  • CVE-2021-44228 – Log4j 2.x JNDILookup RCE fix 1
    –  Disclosed 12/9/21 – Critical
  • CVE-2021-45046 – Log4j 2.x JNDILookup fix 2
    –  Disclosed 12/14/21 – Critical
  • CVE- 2021-4104 – Log4j 1.2 JMSAppender
    –  Disclosed 12/14/21 – High
  • CVE-2021-45105 – Log4j 2.x Context Lookups DoS
    –  Disclosed 12/18/21 – Medium
  • CVE-2021-44832 – Log4j 2.x JDBCAppender
    –  Disclosed 12/28/21 – Medium
  • CVE-2022-23305 – Log4j 1.2.x JDBCAppender
    – Disclosed 1/18/22 – Critical
  • CVE-2022-23302 – Log4j 1.2.x JMSSink
    – Disclosed 1/18/22 – High
  • CVE-2022-23307 – Log4j 1.2.x Chainsaw
    – Disclosed 1/18/22 – Critical

This bulletin contains the latest information about Esri products and will be updated if necessary.

The Joint Cybersecurity Advisory, representing cybersecurity organizations around the globe, provides a useful summary of Log4j vulnerability mitigation guidance that customers may want to reference in addition to our product-specific recommendations.  Two aspects your organization should consider implementing are alerting and blocking mechanisms for this issue.  To help ease implementing the recommended blocking mechanism of a Web Application Firewall (WAF) with Esri products, we have a Web Application Filter Rules guide located within the customer-accessible documents area of the ArcGIS Trust Center.

Note that our mitigation measures are in alignment with Emergency Directive 22-02 Mitigate Apache Log4 Vulnerability.

ArcGIS Enterprise

Several ArcGIS Enterprise components contain the vulnerable log4j library, however, there is no known exploit available for any version of a base ArcGIS Enterprise deployment (including the ArcGIS Server, Portal for ArcGIS, and ArcGIS Data Store components) or stand-alone ArcGIS Server at this time.

Esri has evaluated the potential impact of CVE-2021-45105, an infinite recursion denial-of-service attack against Log4j, in Portal for ArcGIS, ArcGIS Server, and ArcGIS Data Store and determined that those software components do not use the pattern layouts necessary for attackers to exploit the vulnerability.

Out of an abundance of caution, Esri initially created Log4Shell mitigation scripts, subsequently released patches, and more recently introduced new product versions.  We recognize some customers have rigorous requirements concerning Log4j 2.x vs Log4j 1.x components on their systems and highlight our treatment for each below.

ArcGIS Enterprise 11.1 base deployment (Recommended)

  • Log4j 2.x – Esri uses Log4j 2.19 and Ignite-Log4j2 v2.14.  Apache Ignite 2.11.1 was a release that fixed CVE-2021-44228CVE-2021-45046, and CVE-2021-45105 related to the ignite-log4j2 module usage.
  • No Log4j 1.x code is utilized, as the Log4j Bridge is utilized to ensure only Log4j 2.x code is executed.

ArcGIS Enterprise 11.0 base deployment 

  • Log4j 2.x – Esri uses Log4j 2.17.1 or later
  • Log4j 1.x – Esri uses this code for two components in ArcGIS Data Store, but known vulnerable classes were removed:

Object Store
–      
Not installed by default for new Enterprise deployments, except for ArcGIS Enterprise Builder deployments on Windows
–      Will be installed when upgrading from earlier versions
–      If desired, it can be uninstalled via Apps & Features on Windows

Internal logger
–      If desired, the .jar file can be removed (deleted) without effect on application security or functionality
–      Location: \ArcGIS\DataStore\framework\webapps\arcgis#datastoreadmin\WEB-INF\lib\log4j-1.2.17-patched.jar

  • No other Log4j 1.x code is utilized as the Log4j Bridge is utilized for other components
  • No false positives due to “empty” files produced by patches

Patches for ArcGIS Enterprise

Notes:

  • Not all Enterprise products must be patched at the same time
  • Backup files created by the initial mitigation scripts can be deleted from your systems after patching is complete.
  • Base ArcGIS Enterprise components do not utilize and are therefore not vulnerable to:
    –  Log4j 1.2 JMSAppender – CVE-2021-4104
    –  Log4j 2.x JDBCAppender – CVE-2021-44832
  • The ArcGIS Web Adaptor does not use Log4j core and is therefore not vulnerable.

ArcGIS Online

Though a Log4j exploit has not been identified for ArcGIS Online, out of an abundance of caution, patching and updates were completed to eliminate the vulnerable code from this FedRAMP-authorized SaaS offering.

Esri Managed Cloud Services

EMCS Advanced and Advanced+ have implemented web filter mitigations for Log4j vulnerabilities. We have applied the scripts that remove the JNDILookup class to all affected systems as recommended in this announcement.

ArcMap

Does not include Log4j and is therefore not vulnerable to these CVE’s.  See Desktop Extensions section if utilizing optional, separate install extensions.

ArcGIS Monitor

Does not contain Log4j and is therefore not vulnerable to these CVE’s.

ArcGIS Pro

All ArcGIS Pro versions under General Availability support contain Log4j, but are not known to be exploitable as the software does not listen for remote traffic.

  • We recommend customers utilize version 3 or later
    –    Log4j 2.x – Uses Log4j 2.17.1 or later
    –    Log4j 1.x – Log4j 1.x code is NOT utilized as the Log4j Bridge is utilized
  • Alternatively, patches are available for Pro 2.6.1+, 2.7.6+, 2.8.6+, 2.9.2+
    –    Log4j 2.x – Uses Log4j 2.17.1 or later
    –    Log4j 1.x – Log4j 1.x code is utilized, but known vulnerable classes removed

ArcGIS Pro Data Interoperability Extension

  • We recommend customers utilize version 3 or later
    –    Log4j code completely removed
    –    No false positives from “empty” files
  • Alternatively, patches are available for 2.72.82.9 from My Esri
    –    Be aware of potential false positives from security scanners due to utilizing “empty” files
    –    ArcGIS Data Interoperability for ArcGIS Pro for each specific version must be installed prior to installing any ArcGIS Data Interoperability for ArcGIS Pro patches.

ArcMap Data Interoperability Extension

  • Patch available for 10.8.2
  • ArcMap is no longer covered by General Availability support and we encourage our customers to migrate to ArcGIS Pro.  If your organization must continue to utilize ArcMap, please ensure you are utilizing the final product release of 10.8.2 and patch accordingly.

License Manager

This product utilizes components from Flexera, and Esri does NOT include the vulnerable example files referenced by Flexera in their Log4j statement. Log4j is not included with Esri’s License Manager and is therefore NOT vulnerable to the CVE’s in this announcement.

Esri Geoportal Server

This open source product was updated to version 2.65 on Dec 17th to resolve Log4j issues, please upgrade to this latest release.


Security Scanner False Positives

  • Tenable security scanner – Provides numerous plugins to help detect Log4j issues, however, default Plugin 156002 only checks the versions of Log4j and therefore creates a false positive critical alert for customers who have used Esri’s mitigation scripts.  Customers should point their security teams to the Ports sections of Plugin 156001 instead, as it correctly indicates if the Critically vulnerable code has been removed from Log4j and will show:
    JndiLookup.class association: Not Found.
  • LogPresso Log4j Scanner – This free tool listed by the Center of Internet Security for identifying Log4j issues, correctly identifies if your ArcGIS Enterprise Log4j components have been mitigated for the critical vulnerabilities by default.  The tool requires no installation, runs natively on Windows or Linux, typically takes less than two minutes to scan our products, and can be executed at a command prompt by simply pointing it to the installation directory (target_path) of our product as follows:
    log4j2-scantarget_path
  • Notes about false positives based on filename versions even with the newest versions of Esri products – Configuring a scanner to flag vulnerability concerns based on filenames is NOT a recommended best practice for operations as it will likely lead to false positive findings.  Potential false positives to be aware of when alerting on filenames includes (These should not be reported to Esri):

A number of third-party components that include Log4j as a dependency will have Log4j filenames containing the version of the third-party component which a scanner may detect as a vulnerable Log4j version despite using the latest Log4j version. Frequently, the third-party component name is appended in front of the Log4j filename which can help false positive identification efforts.

Log4j 1.x bridge filenames frequently contain Log4j-1.2 as part of the filename and may mistakenly be identified as Log4j 1.x code. Using the Log4j 1.x Bridge is a widely accepted mitigation of Log4j 1.x concerns and described by Apache here.  Until third-party components we utilize move their supported offering to Log4j 2.x, we will continue utilizing the Bridge to ensure risks are mitigated.  Frequently, Log4j 1.x Bridge filenames match the pattern Log4j-1.2-api-2.17.1, where 2.17.1 is the actual version of the code used for the Bridge, which can help false positive identification efforts.

Bottomline, several security scanners by default perform rudimentary validation of Log4j security issues resulting in false positive critical alerts even after Esri’s patches are applied or the latest product versions are utilized.  To avoid false positives, make sure the scanner is appropriately configured and ensure your team is looking at the right location/plugin results – or just use a simpler, purpose-built security tool to validate and provide your security team the assurance the issue has been addressed.

– Esri Software Security & Privacy Team