IPBUF安全漏洞报告
English
CVE-2026-40097 CVSS 3.7 低危

CVE-2026-40097 Step CA 拒绝服务漏洞

披露日期: 2026-04-10

漏洞信息

漏洞编号
CVE-2026-40097
漏洞类型
拒绝服务
CVSS评分
3.7 低危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Step CA

相关标签

拒绝服务Step CACVE-2026-40097TPM认证索引越界DoS

漏洞概述

Step CA是专为DevOps设计的自动化证书管理在线证书颁发机构。在0.24.0至0.30.0-rc3之前的版本中,存在一个安全漏洞,允许攻击者触发索引越界错误导致程序崩溃。该漏洞发生在处理TPM设备认证的device-attest-01 ACME挑战期间。攻击者通过发送一个包含空扩展密钥用法(EKU)扩展的精心制作的认证密钥(AK)证书,利用验证逻辑中的缺陷,使Step CA在访问空切片元素时发生恐慌。仅当配置了TPM设备认证时才受影响,未使用该功能的部署不受影响。该问题已在0.30.0-rc3版本中修复。

技术细节

该漏洞源于Step CA在处理TPM设备认证请求时的ASN.1解码逻辑缺陷。具体来说,当Step CA验证AK证书是否包含tcg-kp-AIKCertificate这一EKU OID时,它会解码EKU扩展的ASN.1值并检查序列的第一个元素。由于代码未充分校验序列的长度,攻击者可以构造一个特殊的AK证书,使其EKU扩展解码为一个空序列(ASN.1 SEQUENCE of length 0)。当程序尝试访问该空序列的第一个元素时,会触发索引越界(index out-of-bounds)异常,导致服务进程Panic并终止。虽然CVSS评分较低(3.7,低危),但由于无需认证且通过网络触发,攻击者可利用此漏洞对启用了TPM认证的Step CA服务实施拒绝服务攻击,导致证书签发服务中断。

攻击链分析

STEP 1
侦察
攻击者识别出目标正在运行受影响版本的Step CA,并确认其启用了TPM设备认证(device-attest-01 ACME挑战)。
STEP 2
构造恶意证书
攻击者构造一个特制的认证密钥(AK)证书,其中包含一个空的Extended Key Usage (EKU)扩展。
STEP 3
发送恶意请求
攻击者向Step CA服务端发起ACME挑战请求,并在TPM认证过程中提交该精心制作的恶意证书。
STEP 4
触发漏洞
Step CA在解析EKU扩展时,因访问空切片的首元素导致索引越界,触发Panic,服务进程崩溃。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import os import sys # This script demonstrates the concept of triggering CVE-2026-40097. # The vulnerability is triggered by sending a TPM Attestation Key (AK) certificate # with an empty Extended Key Usage (EKU) extension to a vulnerable Step CA server. def generate_exploit_concept(): print("[+] Concept for CVE-2026-40097 PoC") print("[+] Target: Step CA < 0.30.0-rc3 with TPM attestation enabled") print("[+] Mechanism: Send AK cert with empty EKU extension (ASN.1 SEQUENCE length 0)") # In a real exploit, one would use an ASN.1 library to construct a certificate # where the EKU extension (OID 2.5.29.37) contains an empty sequence. # Example raw bytes for the EKU extension value: # 0x30 0x00 (SEQUENCE, length 0) exploit_payload_description = """ Malformed Certificate Structure: - Subject: ... - Extensions: - Extended Key Usage: <EMPTY SEQUENCE> (Normally contains OIDs like 2.23.133.8.3 for AIK) """ print(exploit_payload_description) print("[+] Sending this certificate during ACME 'device-attest-01' challenge will cause a panic.") if __name__ == "__main__": generate_exploit_concept()

影响范围

Step CA 0.24.0
Step CA < 0.30.0-rc3

防御指南

临时缓解措施
建议立即将Step CA组件升级到0.30.0-rc3或更高版本。对于无法立即升级的环境,如果业务不依赖TPM设备认证功能,应暂时禁用device-attest-01 ACME挑战中的TPM认证配置,以防止攻击者利用此漏洞导致服务拒绝。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表