## 漏洞关键信息总结 ### 漏洞概述 | 项目 | 内容 | |:---|:---| | **CVE编号** | CVE-2026-34874 | | **标题** | 设置可分辨名称时的空指针解引用 | | **发现日期** | 2026年3月31日 | | **严重等级** | HIGH | | **影响** | 任意代码执行 | | **报告者** | Hanato Kimura (Stella) | **漏洞详情**:攻击者可在执行 `mbedtls_x509_string_to_names()` 时造成内存分配失败,导致以空指针作为目标地址调用 `memcpy()`。该函数还可通过以下函数间接调用: - `mbedtls_x509write_csr_set_subject_name()` - `mbedtls_x509write_crt_set_subject_name()` - `mbedtls_x509write_crt_set_issuer_name()` ### 影响范围 | 受影响版本 | 不受影响版本 | |:---|:---| | Mbed TLS 3.5.0 至 3.6.5 | Mbed TLS 3.6.6 及后续 3.6.x 版本 | | Mbed TLS 4.0.0 | Mbed TLS 4.1.0 及后续 4.x 版本 | **影响说明**: - 有内存保护的平台上:可能导致段错误 - 微控制器上:可能向地址0的中断向量写入数据,从而实现任意代码执行 ### 修复方案 #### 1. 临时缓解措施 确保 Mbed TLS 在调用 `mbedtls_x509_string_to_names()` 时有充足内存,使 `mbedtls_calloc()` 不会失败。 在有内存保护且地址0不可写的系统上,该漏洞将产生段错误或内存保护错误,仅导致拒绝服务(DoS)而非任意代码执行。 #### 2. 正式修复 **升级至 Mbed TLS 3.6.6 或 4.1.0** #### 3. 修复提交(针对维护分支) | 分支 | 提交哈希 | 说明 | |:---|:---|:---| | Mbed TLS 3.6.x - 基础修复 | `bfaf4a76fd33da860796feab6235847acb71127` | TF: N/ | | Mbed TLS 3.6.x - 含测试和文档 | `branch up to 4704b6bbfdb963f1331582374e88118a4ad8f522` | TF: N/ | > 注:Mbed TLS 开发团队仅维护官方分支,这些提交可能不适用于旧版本,即使适用也可能无法提供完整修复。