Vulnerability · Published Apr 10, 2026 · Assigned by GitHub_M
CVE-2026-40097Step CA affected by an index out of bounds panic in TPM attestation EKU validation
Low 3.7
In plain English
A low-severity security flaw in certificates from smallstep. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 8% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
Step CA is an online certificate authority for secure, automated certificate management for DevOps. From 0.24.0 to before 0.30.0-rc3, an attacker can trigger an index out-of-bounds panic in Step CA by sending a crafted attestation key (AK) certificate with an empty Extended Key Usage (EKU) extension during TPM device attestation. When processing a device-attest-01 ACME challenge using TPM attestation, Step CA validates that the AK certificate contains the tcg-kp-AIKCertificate Extended Key Usage OID. During this validation, the EKU extension value is decoded from its ASN.1 representation and the first element is checked. A crafted certificate could include an EKU extension that decodes to an empty sequence, causing the code to panic when accessing the first element of the empty slice. This vulnerability is only reachable when a device-attest-01 ACME challenge with TPM attestation is configured. Deployments not using TPM device attestation are not affected. This vulnerability is fixed in 0.30.0-rc3.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Go | github.com/smallstep/certificates | 0.30.0 | GHSA-9qq8-cgcv-qmc9 |
| Go | github.com/smallstep/certificates | 0.30.0 | GO-2026-5297 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| smallstep | certificates | >= 0.24.0, < 0.30.0-rc3 |
Weakness: CWE-129 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
References
- https://github.com/smallstep/certificates/security/advisories/GHSA-9qq8-cgcv-qmc9 x_refsource_CONFIRM
- https://github.com/smallstep/certificates/pull/2569 x_refsource_MISC
- https://github.com/smallstep/certificates/commit/ffd31ac0a87e03b0224cb8363094bfe602242888 x_refsource_MISC
- https://github.com/smallstep/certificates/releases/tag/v0.30.0 x_refsource_MISC