[5.26.0] - 2026-08-07
๐ Security
- Resolve 8 Dependabot security alerts (#1083)
- Upgrade
opentelemetry_sdk0.29.0 โ 0.32.1 (SSRF via malicious OTLP endpoint, GHSA-r74r-p7x6-m97p) + React dependency updates (#1073) AlwaysSensitiveis now server-managed: clients can no longer add/set/modify/delete it viaAddAttribute,SetAttribute,ModifyAttribute, orDeleteAttributeโ such requests are rejected withAttribute_Read_Only(#1103)- Read-only KMIP attributes could be rewritten by any client via
ModifyAttribute(e.g.Initial Date,Cryptographic Length,Unique Identifier). All attributes marked "Modifiable by client: No" are now rejected withAttribute_Read_Only; "Deletable by client: No" attributes are rejected byDeleteAttribute(#1103)
๐ Features
SPIRE / Workload Identity (#1075)
- Add SPIRE server support: KMS acts as a Vault-compatible backend for SPIRE's
upstream_caplugin (PKI sign-intermediate, Transit encrypt/decrypt, Auth AppRole/Kubernetes) - Multi-tenant SPIRE integration with isolated trust domains per SPIFFE ID
X-Vault-Tokenaccepted on all KMS endpoints whenvault_api_enabled = trueโ transit/PKI clients no longer need a separate native KMS credential- Vault Transit engine routes: create/list/delete keys, sign with configurable
signature_algorithm(PSS/PKCS1v15) - Vault PKI engine route:
POST /root/sign-intermediatewithttlforwarding ckms vault approleCLI subcommands for AppRole admin operations (create/list/delete roles, generate/destroy secret IDs)- Transparent auth reverse proxy:
/v1/auth/*forwarded to auth-verifier, stripping/v1prefix
Kubernetes / Helm (#999, #1048)
- Add Kubernetes KMS Provider Plugin implementing the KMS v2 gRPC API for encrypting Kubernetes secrets at rest in etcd
- Add Kubernetes Secrets Store CSI Driver Provider for mounting KMS-managed secrets as files
- Add Kubernetes operator with controller, admission webhook, and init-container inject mode
- Add Helm chart for Kubernetes deployment with configurable values, RBAC, HPA, PDB, and NetworkPolicy
KMIP (#1103)
- Support
AlwaysSensitiveKMIP attribute (KMIP 2.1 ยง4.3): set toTrueat creation iffSensitive, permanentlyFalseonceSensitiveis ever set toFalse - KMIP 1.x attribute version gating: server no longer returns attributes that the client's protocol version does not define (prevents parse failures in KMIP 1.0โ1.3 clients like Synology DSM, PyKMIP, Percona)
Never Extractableis now correctly serialized in KMIP 1.x responses
Authentication Verifier integration (#1013)
- Authentication methods delegated to the external Cosmian Authentication Verifier service:
- Login/password (basic auth) + TOTP 2FA: supported on Web UI and
ckms loginCLI X-Vault-Token(Vault AppRole, Vault Kubernetes, Vault Token)
- Login/password (basic auth) + TOTP 2FA: supported on Web UI and
Other
- Enrich SBOM with additional metadata (#1102)
๐ Bug Fixes
KMIP Conformance (#1103)
Lease Timewas encoded as TTLVIntegerinstead ofIntervalโ strictly typed clients rejected everyGetAttributesresponse carrying itRNG Parameters.Cryptographic Lengthwas encoded asLongIntegerinstead ofInteger, making theRandom Number Generatorattribute undecodableDeleteAttributeresponses omitted the deletedAttribute(required by KMIP 1.4 ยง4.16)DeleteAttributeby name was a silent no-op for most attributes (only handled 9 tags)Commentwas write-only โ never returned byGetAttributes
Server & Infrastructure
- Fix OpenSSH authentication failures โ PKCS#11
C_SignInitnow uses class-awareCKA_IDlookup (#1091) - Fix stale connections in ckms CLI โ retry HTTP requests once on stale pooled connections (#1061)
- Remove busybox from Docker image (#1099)
- Fix mdBook documentation build (#1095)
- Update AWS XKS service (#1065)
- Enable strict configuration parsing โ reject unknown fields (#1053)
- Fix Nix upgrade for Rust toolchain (#1057)
๐งช Testing
- SPIRE PKI capability validation โ 10 scenarios (M-01 through M-10) covering Aembit RFI test plan: self-signed cert rejection, TLS version enforcement, algorithm policy propagation, client/server cert parity, latency hard gate, timed revocation propagation (#1110)
- Go-based KMIP compliance tests (
ovh/kmip-go, KMIP 1.0โ1.4): 16 tests validating DiscoverVersions, Query, AES/RSA/EC key lifecycle, Locate, batch ops, encrypt/decrypt, sign/verify, and version-gating of KMIP 1.4+ attributes (#1103)
โ๏ธ Build
- Replace linkcheck with lychee for documentation link validation (#1106)
- Bump CI actions:
setup-minikube,setup-helm,pnpm/action-setup,docker/login-action,actions/setup-node