Security Bulletin: response to eMudhra CA intermediate certificate compromise

Published: October 23, 2026

Applies To: Capacity Private Cloud version 8.0.x (On-Premise & Private Cloud Deployments). Customers running version 7.x or earlier should contact Support to discuss their upgrade path.

Action Required: Yes. Update to the patched images listed below.

Overview

On October 20, 2026, Mozilla and the Chrome Root Program confirmed that the private keys for eight intermediate certificate authority (CA) certificates operated by eMudhra (emSign) are compromised. The keys were generated with insufficient randomness and can be derived from the public certificates. An attacker holding them could issue certificates for any domain that would be trusted by software still relying on the affected certificate chains.

Six of the affected certificates are used for TLS (website) authentication and two for code signing. Major browsers and operating system vendors have blocked them. However, many non-browser applications, language runtimes, and container base images do not receive these blocks automatically and are protected only when the software itself is updated.

Platform Impact Assessment

  • Certificate trust exposure: Prior versions of our container images relied on Go runtime releases and base image CA bundles that did not yet reject the affected certificates. In an unpatched deployment, a service could accept a forged certificate when connecting to an external endpoint, but only if an attacker were also positioned to intercept that network traffic.
  • Exploitation prerequisites: This cannot be exploited remotely against a service on its own. It requires interception of network traffic between a service and the endpoint it connects to.
  • Encryption is not weakened: This issue concerns certificate-based authentication, not the strength of TLS encryption algorithms.
  • No evidence of impact: We have no evidence or indication that any customer systems or data were impacted.

Our Security Response

We reviewed all Capacity images in our deployed Helm charts. Images not listed below were not affected, were not republished, and require no action. For the affected images, we released patched versions outside our normal release schedule. The patches include:

  • An update to Go 1.27.3, which rejects the compromised intermediate certificates and includes related fixes
  • Updated base images carrying corrected CA certificate bundles
  • Additional dependency (npm) updates addressing other vulnerabilities

We also verified the certificate chains presented by the external endpoints our software contacts for licensing and model distribution. None involve eMudhra/emSign certificates, and we do not use certificates issued by eMudhra/emSign.

Version 8.0.1

ImageTagDigest
lumenvox/license8.0.1sha256:5c311234bdf2927837f8b48a2143f4f4fb1d508ee4e830b2674de434520a4d00
lumenvox/resource8.0.1sha256:f2853641a70ca0794d4e0cd20caff8cbac99538e7db5ec8708403277370bb168
lumenvox/grammar8.0.1sha256:5113097600d0b11d0df5dee71f6ab1b41aae7457b099326e837067d8562625ff
lumenvox/mrcp-api8.0.1sha256:51f8a1d4a55011ffd2e90a6ea48b54613ea7482fc473918594c65df3257cf084
lumenvox/storage8.0.1sha256:b33cbd03bebff6bdb1f6d4d2e339e424089a7bc9a0462b846469374a91f70542
lumenvox/deployment8.0.1sha256:e7fba1720806fa127ab9d45fbfe140cd8d16790cb1f5fb4a611b650fc0b2e444
lumenvox/reporting-api8.0.1sha256:7a8127dd4ecdc49354486b6ae519e7ac29660ac8882539e3008b080fef415ffe
lumenvox/configuration8.0.1sha256:64a679dcf91af1c7665dc6c9268280fb1882a99153b2b445ebbc854aaea7e75e
lumenvox/archive8.0.1sha256:b75bc3ceb2def2f74feb94187687892b61f0d693b46fb302581fb344f88e54ef
lumenvox/management-api8.0.1sha256:c79766d2c0399833a372f9451cb232afd4cc6a5d206833347bb9cf6df61708c4
lumenvox/file-store8.0.1sha256:22c11a2dffd07b76a445b22a2f05d689c86f7de8b900e5988dd6f3585cb50088
lumenvox/admin-portal8.0.1sha256:f84b38ea17bfa9e955c3ca4b95ac7f9c4490c4e4e7e7ff1036a08afb729df0a2
lumenvox/tts8.0.1sha256:bb40f1b344456c1de85741efc521f9a5dd20bd2314ff7741e40315e537ef463b
lumenvox/neural-tts8.0.1sha256:1193c67894e727235eb43927bf4a3a517a10179b7bfbc016c610cedde31ecfba

Version 8.0.2

ImageTagDigest
lumenvox/session8.0.2sha256:6245dce9a3b56c2d17c6c0a442bf1ff73382c000435bb95c2b257282cc83f535
lumenvox/deployment-portal8.0.2sha256:3669ca74441a74cd04588b1c9a8dc92980e9314dec103821c9efd1fa14824ccb

These images are also tagged 8.0, 8, and latest. Your Helm deployment references the 8.0 tag.

Recommended Customer Actions

1. Update your Helm (Kubernetes) deployment.

Important: Capacity deployments use the floating :8.0 image tag with imagePullPolicy: IfNotPresent. In that configuration, helm upgrade and pod restarts do not download the patched images, because nodes keep using the images they already have. You must take one of the explicit actions below.

If you previously pinned global.image.tag to a specific version such as ":8.0.0", set it back to ":8.0" (note the leading colon). Do not set the tag to :8.0.1 or :8.0.2. Not every image has those tags, and some pods would fail with ImagePullBackOff.

Method A: Pre-pull on your nodes, then restart (keeps IfNotPresent).

This requires command-line access to your cluster nodes, which is typical for self-managed clusters but usually not available on managed Kubernetes services (for example EKS, AKS, or GKE). If you run a managed service, use Method B.

a. On every node that can run these pods, pull the images your deployment uses. If you use a private registry mirror, update the mirror first and use its path. Skip tts and neural-tts if you don’t run them, as these images are large.

for i in license resource grammar storage deployment reporting-api configuration \
         archive management-api file-store admin-portal tts neural-tts session deployment-portal; do
  sudo crictl pull docker.io/lumenvox/$i:8.0
done

(crictl applies to containerd. For a Docker runtime, use docker pull.) Pull on all eligible nodes, not only those currently running the pods, or a later reschedule can land on a node still holding the old image.

b. Restart the patched services:

kubectl get deploy -n lumenvox
kubectl rollout restart deployment/<name> -n lumenvox

Restart only Capacity workloads. If you run the in-cluster external-services test dependencies, do not restart those.

Method B: Set the pull policy to Always - Recommended for managed Kubernetes services.

In your values.yaml:

global:
  image:
    pullPolicy: Always

Then follow the standard upgrade procedure. All Capacity workloads will restart as in a normal upgrade, and pull the current images. Nodes will need to reach the registry when pods start. If you later revert to IfNotPresent, re-verify your digests, as a node holding an old cached image could run it.

2. Update MRCP (Docker Compose) deployments.

MRCP runs from the Docker Compose file in the mrcp-api repository, not Helm. To avoid disrupting traffic, take the instance out of service first using the management API (see the README), and wait for active calls on that instance to complete:

curl -X PUT -d '{"out-of-service":"1"}' -u <user>:<password> https://localhost:8085/out-of-service

(Add --insecure if you use the auto-generated certificate.) Then update:

cd mrcp-api/docker
docker compose pull
docker compose up -d

Alternatively, set PRODUCT_VERSION=8.0.1 in docker/.env (no leading colon) and run docker compose up -d. The out-of-service setting resets when the service restarts, so you do not need to clear it.

3. Verify the update. Confirm each running container uses a patched image by comparing digests to the tables above.

Kubernetes:

kubectl get pods -n lumenvox -o jsonpath='{range .items[*]}{range .status.containerStatuses[*]}{.image}{"\t"}{.imageID}{"\n"}{end}{end}' | sort -u

MRCP:

docker images --digests lumenvox/mrcp-api

4. Review your own environment. This issue affects any software that validates TLS certificates, not only our products:

  • Update CA bundles and operating system packages on hosts and in any custom images you maintain.
  • Review any custom trust stores or mutual TLS configurations, including extra root CAs supplied via global.extraRootCaCerts (Helm) or MEDIA_SERVER__EXTRA_ROOT_CA (MRCP). Remove any eMudhra/emSign roots.
  • If services your deployment connects to present certificates issued by eMudhra/emSign, those connections will fail validation after updating. The affected intermediates have been revoked. Contact the owner of those services or your certificate provider to have the certificates reissued.
  • If you use emSign code-signing certificates, review those as well.

5. Do not disable certificate verification to resolve certificate errors you encounter after updating. This removes the protection the updates restore. Contact Support instead.

6. Do not roll back to earlier image versions, as this would reinstate the vulnerable components.

Additional Information

Support

If you have questions about your specific deployment, or need help updating your installation, please reach out to your Account Manager or Support representative.


Was this article helpful?