• Task
  • Version ยท 6.0.1
  • Troubleshoot

Remediate CVE-2026-91403 and CVE-2026-114820 in the Liquibase Secure Java runtime

Last updated: November 3, 2026

CVE-2026-91403 and CVE-2026-114820 affect the Java runtime in Liquibase Secure 6.0.0 and earlier. Liquibase Secure 6.0.1 includes the fix. If you can't upgrade yet, how you remove the compromised eMudhra certificates depends on how you installed Liquibase Secure on Windows, Linux, or macOS.

Before you begin

Find how you installed Liquibase Secure:

  • Windows installer: Liquibase Secure runs on the Java runtime that ships with it, in the jre folder of the installation directory. By default, that is C:\Program Files\liquibase-secure\jre. Follow the steps on this page.

  • ZIP or TAR.GZ file, on Windows, Linux, or macOS: Liquibase Secure runs on your own Java installation. Update it to a JDK that includes JDK-8395142 and JDK-8395690 and that no longer trusts emSign Root CA - G1. You don't need the steps on this page.

  • Docker image: upgrade to Liquibase Secure 6.0.1 or later. You don't need the steps on this page.

  • Liquibase Secure Server: upgrade to Liquibase Secure Server 6.0.1 or later. You don't need the steps on this page.

Before you run the steps on this page, make sure that:

  • The JAVA_HOME environment variable is not set. When JAVA_HOME is set, Liquibase runs on that Java installation instead of the bundled runtime, so these steps don't change the Java that Liquibase uses. Update that Java installation to a release that includes the fix instead.

  • You can open PowerShell as an administrator.

  • You know which TLS endpoints Liquibase connects to, such as your databases, and which root certificate authority each one chains to. If your Java runtime includes the AAA Certificate Services root, the procedure removes it, so a connection to a server whose certificate chains only to that root fails afterward.

Procedure

1

Save the remediation script

Copy the following script into a file named distrust-emsign.ps1 and save it on the machine where Liquibase Secure is installed.

loading
2

Back up the truststore files

In the jre\lib\security folder of your Liquibase Secure installation directory, copy cacerts and blocked.certs to a safe location. The script doesn't back up these files, and you need these copies to roll back the change.

3

Run the script

Open PowerShell as an administrator, go to the folder where you saved the script, and run it against the Liquibase Secure Java runtime.

Be sure to:

  • Replace C:\Program Files\liquibase-secure\jre with the jre folder in your installation directory if you installed Liquibase Secure somewhere else.

powershell -ExecutionPolicy Bypass -File distrust-emsign.ps1 -JavaHome "C:\Program Files\liquibase-secure\jre"

The script removes the emSign root certificates from cacerts, and the AAA Certificate Services root if your Java runtime includes it, and adds the compromised eMudhra certificates to blocked.certs. If any of the affected root certificates remain, it stops with an error.

When the script succeeds, it prints the Java runtime it updated, a Removed line for each root certificate it deletes, the number of fingerprints it added to blocked.certs, and a Done line. For example:

loading

Always pass -JavaHome. If you leave it out, the script updates the Java installation in JAVA_HOME, not the Java runtime that ships with Liquibase Secure.

4

Test Liquibase

Run a Liquibase command that connects to your database, such as liquibase status. Liquibase uses the updated truststore the next time it starts, so restart any Liquibase process that was already running.

If the command fails with a certificate error such as PKIX path building failed or unable to find valid certification path to requested target, a server Liquibase connects to depends on a removed root certificate. Restore the cacerts and blocked.certs files you backed up, then contact Liquibase Support.