C.2.3. 3rd Party Security Vulnerabilities

The Tungsten products use a number of 3rd Party libraries, such as log4j. From time to time security vulnerabilties are identified in these libraries. When this occurs, we investigate the implications and where possible provide updated libraries.

In some cases, we cannot back-port newer libraries into older releases, and upgrading Tungsten would be the only option to mitigate these 3rd party vulnerabilities.

This page outlines the current known vulnerabilities and the actions taken by Continuent to mitigate the risk.

C.2.3.1. Log4j 1.x Security Vulnerabilties

Tungsten Versions up to 6.1.16 + version 7.0.0 embed log4j-1.2.17.jar where the following issues are found:

  • CVE-2019-17571

  • CVE-2020-9488

  • CVE-2020-9493

  • CVE-2022-23302

  • CVE-2022-23307

  • CVE-2022-23305

With the following conditions:

  • The affected application must be using the vulnerable SocketServer class from Log4j 1.2 and must be configured to listen for logging data over the network. Additionally, deserialization gadgets must be present in the application's classpath for successful exploitation.

  • The affected application must be specifically configured to use the JMSSink component, which is not the default configuration in Log4j 1.x. The vulnerability is only present when JMSSink is enabled and configured.

  • The affected application must be using the Chainsaw component that was included as part of Log4j 1.2.x.

  • The affected application must be configured to read serialized log events in Chainsaw. This is a specific configuration that enables the vulnerability.

  • The affected application must be specifically configured to use the JDBCAppender in Log4j 1.2.x. This is not the default configuration, so only applications that have explicitly enabled this component are vulnerable.

Since later versions of log4j are not backwards compatible, we have created a “secured” version of this library, named log4j-1.2.17-secure.jar

The secure version is included in v6.1.18 onwards, with the exception of v7.0.0. v2 of log4j is included from v7.2.0 onwards

Important

While this version of the library IS secure, Software Security Scanners will generally report it as a threat, as they don’t inspect the contents of the jar file.

Here are details on how we secured the library:

  • CVE-2019-17571: SocketServer and SocketAppender* classes removed

  • CVE-2022-23302: JMSSink and JMSAppender classes removed

  • CVE-2022-23307 and CVE-2020-9493: org/apache/log4j/chainsaw/*.class removed

  • CVE-2022-23305: JDBCAppender class removed

  • CVE-2020-9488: SMTPAppender class removed

C.2.3.2. Jackson Denial of Service and Resource Exhaustion threats

The following vulnerabilities have been identified in the Jackson libraries v2.13.0 shipped with Tungsten up to 7.2.0:

  • CVE-2021-46877

  • CVE-2022-42003

  • CVE-2022-42004

  • CVE-2023-35116

  • CVE-2025-52999

These threats do not affect / are not exposed to the client application as the the libraries are only used for internal JSON conversions with known data, generated by Tungsten, but might be detected by security scanners.

The cure is to replace the 3 jars named jackson* with the 2.20 and 2.20.1 ones, since they are backwards compatible.

Updated libraries can be downloaded from the following links:

After obtaining the updated files, you should copy them into your software staging directory for your current installed release, and then proceed to issue an update, for example:

shell> cp jackson* /opt/continuent/software/tungsten-replicator-8.0.2-87/cluster-home/lib
shell> cd /opt/continuent/software/tungsten-replicator-8.0.2-87
shell> tools/tpm update --replace-release