News KrakenD 3.0 Is Here: AI Router, Semantic Cache, and On-the-Fly Stream Manipulation News KrakenD CE 3.0.2, EE 3.0.2 and EE 2.13.12 Update Released News KrakenD CE 3.0.1, EE 3.0.1 and EE 2.13.11 Update Released News KrakenD Partners with CGK Solutions to Secure API Integration in Italy

Product UpdatesSecurity

5 min read

KrakenD CE 3.0.2, EE 3.0.2 and EE 2.13.12 Update Released

by Jorge Tarrero

This patch release of KrakenD Community Edition and Enterprise Edition upgrades Go to 1.26.10, which stops trusting a set of compromised certificate authorities. Upgrade as soon as possible: without it, an attacker can impersonate the services KrakenD connects to or, on mTLS deployments, authenticate against the gateway with a forged client certificate. For 2.x users, Enterprise 2.13.12 backports the same security upgrades.

Compromised eMudhra Intermediate Certificates

The certificate authority eMudhra generated the private keys of eight of its intermediate certificates incorrectly, making them trivially recoverable. Anyone holding those keys can issue certificates that most trust stores accept, for any hostname and for client authentication. The intermediates were revoked on October 18 and 19 and browsers already block them, but Go does not check revocation, so every Go program trusting the affected roots kept accepting them. This is CVE-2026-111943.

Go 1.26.10 adds a denylist to crypto/x509 that rejects any chain going through these intermediates, whatever trust store or CA files you use. In KrakenD, this protects:

  • Connections to your services: HTTPS backends, JWK and identity provider URLs, and telemetry exporters. An attacker able to intercept that traffic could read or alter requests, responses and credentials.
  • Clients connecting with mTLS: KrakenD trusts the system CA pool alongside your ca_certs unless you set disable_system_ca_pool to true. An attacker could mint a client certificate under a compromised intermediate and pass mTLS authentication without intercepting anything.
Connections through these intermediates fail after upgrading
After you upgrade, KrakenD rejects any backend, identity provider or mTLS client whose certificate chains through one of the compromised eMudhra intermediates, and logs an x509 verification error. This is the intended behavior: the certificates are revoked and their owners must reissue them. If an upstream service starts failing after the upgrade, ask its owner to replace the certificate instead of rolling back.

If you cannot upgrade immediately, update the CA bundle of the operating system or image running KrakenD, and on mTLS deployments set disable_system_ca_pool to true with an explicit ca_certs list. Both reduce the exposure, but only the upgrade blocks the intermediates regardless of the trust store in use.

Other Security Upgrades

The Enterprise releases also upgrade the openapi dependency, which fixes seven CVEs. Only CVE-2026-100348 affects KrakenD: a crafted OpenAPI document can crash the krakend openapi import and krakend openapi serve commands. The other six live in request and response validation code that KrakenD never uses, so they are false positives. On the Community side, KrakenD CE 3.0.2 upgrades the amqp dependency to address CVE-2026-107386, already fixed in Enterprise in the previous release.

Check our security advisories page for more details on how each CVE affects KrakenD.

Enterprise Improvements

KrakenD EE 3.0.2 makes the AI Gateway more robust against configuration mistakes. Components depending on the AI providers now handle missing or wrong configurations properly, and the semantic cache evaluates vector_dimensions on startup and logs an error when it is misconfigured.

The release also removes irrelevant debug lines from the prompt guard and fixes a panic in the krakend e2e command when you run it with -g 0.

The full list of changes for each version follows.

๐Ÿš€ Summary of changes for EEv3.0.2 (patch)

Urgent security upgrade distrusting compromised eMudhra intermediate CAs, plus other vulnerability and feature fixes

  • ai/providers dependant components now properly handle missing or wrong configurations
  • Removed irrelevant debug lines from ai/prompt-guard component
  • ai/semantic-cache vector_dimensions option is now properly evaluated on startup and logs error if misconfigured
  • Fixed a panic in e2e command when executed with -g 0
  • Upgraded Go to 1.26.10, addressing CVE-2026-111943 crypto/x509: distrusts eight eMudhra intermediate CAs whose private keys were compromised
  • Upgraded openapi dependency, addressing several CVEs with disclosed descriptions:
    • CVE-2026-100351 ValidationHandler security-requirement bypass via encoded-path operation confusion
    • CVE-2026-100353 Three Unpatched nil-Items Panic Paths in openapi3filter
    • CVE-2026-100348 spec loader panics on a self-referential additionalProperties $ref
    • CVE-2026-100347 Unauthenticated panic (DoS) in openapi3filter legacy router via non-canonical/unsupported HTTP method on a static path
    • CVE-2026-100354 Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
    • CVE-2026-100352 YAML NaN/Inf Values Bypass Built-in Guards and Panic via OAS 3.1 Validation Path
    • CVE-2026-100349 nil-pointer panic in ValidateResponse on a response header declared with content

Upgrading to the latest version is always advised.

๐Ÿš€ Summary of changes for CEv3.0.2 (patch)

Urgent security upgrade distrusting compromised eMudhra intermediate CAs and addressing other vulnerabilities

  • Upgraded Go to 1.26.10, addressing CVE-2026-111943 crypto/x509: distrusts eight eMudhra intermediate CAs whose private keys were compromised
  • Upgraded amqp dependency, addressing CVE-2026-107386

Upgrading to the latest version is always advised.

๐Ÿš€ Summary of changes for EEv2.13.12 (patch)

Urgent backport security upgrade distrusting compromised eMudhra intermediate CAs and addressing other vulnerabilities

  • Upgraded Go to 1.26.10, addressing CVE-2026-111943 crypto/x509: distrusts eight eMudhra intermediate CAs whose private keys were compromised
  • Upgraded openapi dependency, addressing several CVEs with disclosed descriptions:
    • CVE-2026-100351 ValidationHandler security-requirement bypass via encoded-path operation confusion
    • CVE-2026-100353 Three Unpatched nil-Items Panic Paths in openapi3filter
    • CVE-2026-100348 spec loader panics on a self-referential additionalProperties $ref
    • CVE-2026-100347 Unauthenticated panic (DoS) in openapi3filter legacy router via non-canonical/unsupported HTTP method on a static path
    • CVE-2026-100354 Uncontrolled Recursion on Circular allOf/anyOf/oneOf Schemas Causes Fatal Process Crash
    • CVE-2026-100352 YAML NaN/Inf Values Bypass Built-in Guards and Panic via OAS 3.1 Validation Path
    • CVE-2026-100349 nil-pointer panic in ValidateResponse on a response header declared with content

Upgrading to the latest version is always advised.

Stay up to date with KrakenD releases and important updates