- 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
jrefolder of the installation directory. By default, that isC:\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_HOMEenvironment variable is not set. WhenJAVA_HOMEis 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
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.
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.
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\jrewith thejrefolder 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:
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.
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.