支持本站 — 捐款将帮助我们持续运营

目标:1000 元,已筹:736

73.6%
一、 漏洞 CVE-2026-22791 基础信息
漏洞信息
                                        # openCryptoki C_WrapKey 缓冲区溢出漏洞

## 概述
openCryptoki 是一个用于 Linux 和 AIX 的 PKCS#11 库及工具。在版本 3.25.0 和 3.26.0 中,CKM_ECDH_AES_KEY_WRAP 实现中存在堆缓冲区溢出漏洞。

## 影响版本
- 3.25.0
- 3.26.0

## 细节
漏洞位于 CKM_ECDH_AES_KEY_WRAP 机制的 C_WrapKey 函数中。当本地攻击者提供一个压缩格式的椭圆曲线(EC)公钥并调用 C_WrapKey 时,会触发堆缓冲区溢出,导致越界写入。

## 影响
- 堆内存 corruption
- 可能导致服务拒绝(DoS)
- 攻击者需具备本地访问权限
                                        
神龙判断

是否为 Web 类漏洞: 未知

判断理由:

N/A
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
openCryptoki incorrectly calculates the buffer size in C_WrapKey with CKM_ECDH_AES_KEY_WRAP
来源:美国国家漏洞数据库 NVD
漏洞描述信息
openCryptoki is a PKCS#11 library and tools for Linux and AIX. In 3.25.0 and 3.26.0, there is a heap buffer overflow vulnerability in the CKM_ECDH_AES_KEY_WRAP implementation allows an attacker with local access to cause out-of-bounds writes in the host process by supplying a compressed EC public key and invoking C_WrapKey. This can lead to heap corruption, or denial-of-service.
来源:美国国家漏洞数据库 NVD
CVSS信息
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H
来源:美国国家漏洞数据库 NVD
漏洞类别
缓冲区大小计算不正确
来源:美国国家漏洞数据库 NVD
漏洞标题
openCryptoki 安全漏洞
来源:中国国家信息安全漏洞库 CNNVD
漏洞描述信息
openCryptoki是openCryptoki开源的一个适用于 Linux 的 PKCS#11 库和工具。 openCryptoki 3.25.0版本和3.26.0版本存在安全漏洞,该漏洞源于CKM_ECDH_AES_KEY_WRAP实现存在堆缓冲区溢出,可能导致堆损坏或拒绝服务。
来源:中国国家信息安全漏洞库 CNNVD
CVSS信息
N/A
来源:中国国家信息安全漏洞库 CNNVD
漏洞类别
其他
来源:中国国家信息安全漏洞库 CNNVD
二、漏洞 CVE-2026-22791 的公开POC
#POC 描述源链接神龙链接
三、漏洞 CVE-2026-22791 的情报信息
  • 标题: Incorrect calculation of buffer size in C_WrapKey with CKM_ECDH_AES_KEY_WRAP · Advisory · opencryptoki/opencryptoki · GitHub -- 🔗来源链接

    标签:x_refsource_CONFIRM

    神龙速读:
                                            ## 关键漏洞信息
    
    - **漏洞名称**: Incorrect calculation of buffer size in C_WrapKey with CKM_ECDH_AES_KEY_WRAP
    - **CVE ID**: CVE-2026-22791
    - **严重性**: 6.6 / 10 ( Moderate )
    - **影响版本**: v3.25.0, v3.26.0
    - **修复版本**: Commit e37e9127dee6b7bf3c3c4d852c594256c57ec3a8
    - **相关链接**: GHSA-26f5-3mwq-4wm7
    
    ### 漏洞描述
    
    - **摘要**: 在 CKM_ECDH_AES_KEY_WRAP 实现中存在一个堆缓冲区溢出漏洞,攻击者可以通过提供压缩的 EC 公钥并调用 C_WrapKey 导致越界写入,从而导致堆损坏或拒绝服务。
    - **详细信息**: 
      - 漏洞存在于 `mech_ec.c` 文件的 `ecdh_aes_key_wrap()` 函数中。缓冲区大小的计算使用了接收方密钥存储的椭圆曲线点长度,但代码复制本地生成的传输点时使用了实际的未压缩长度,导致缓冲区溢出。
      - OpenCryptoki 接受压缩的椭圆曲线点而不进行归一化,而生成的传输密钥始终是未压缩编码的。
    
    ### 修复建议
    
    - **修复提交**: e37e912
    - **受影响的版本**: v3.25.0, v3.26.0
    - **修复版本**: 修复程序还适用于 openCryptoki 3.25.0 和 3.26.0 版本。
    
    ### 影响范围
    
    - **受影响的应用**: 使用 OpenCryptoki 接受外部 EC 公钥并执行使用 CKM_ECDH_AES_KEY_WRAP 进行密钥包装操作的应用。
    - **服务进程**: 允许用户提供 EC 公钥并调用 C_WrapKey 的任何服务进程。
    - **堆损坏**: 可能导致服务拒绝。
                                            
    Incorrect calculation of buffer size in C_WrapKey with CKM_ECDH_AES_KEY_WRAP · Advisory · opencryptoki/opencryptoki · GitHub
  • 标题: COMMON: Add support for CKM_ECDH_AES_KEY_WRAP to key/encrypt/decrypt … · opencryptoki/opencryptoki@785d757 · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            ### 关键信息
    
    1. **Commit Information**
       - **Commit Hash:** 785d757
       - **Author:** ifranzki
       - **Date:** Dec 11, 2024
       - **Title:** COMMON: Add support for CKM_ECDH_AES_KEY_WRAP to key/encrypt/decrypt manager
    
    2. **Changes Summary**
       - **Files Changed:** 5
       - **Lines Changed:** +486 -0
    
    3. **Key Code Changes**
       - **Files Changed:**
         - `usr/lib/common/decr_mgr.c`
         - `usr/lib/common/encr_mgr.c`
         - `usr/lib/common/h_extern.h`
         - `usr/lib/common/key_mgr.c`
         - `usr/lib/common/meh_ec.c`
    
    4. **Commit Message Details**
       - **Description:**
         - Implements the CKM_ECDH_AES_KEY_WRAP mechanism by internally performing key, CKM_ECDHA_KEY_PAIR_GEN for generating the temporary AES wrapping key, and CKM_AES_KEY_WRAP_KWP for wrapping the to-be-wrapped key. The temporary transport key object and the AES wrapping key object are generated as session objects with CKA_HIDDEN set to true to ensure they cannot be found by means of C_FindObjects. These objects are meant for temporary use and should not last beyond a very short time.
         - Gives update about signing by Ingo Franzki.
    
    5. **Error Handling**
       - Various checks for mechanisms, parameters, and key types to ensure validity and consistency. Errors are logged using `TRACE_ERROR` and the function returns with an appropriate error code.
    
    6. **Security Considerations**
       - Temporary keys have CKA_HIDDEN set which should prevent them being found by C_FindObjects, even though they are meant for short-time use.
       - Key wrapping uses internal mechanisms designed to enhance security.
    ```
    
    This commit focuses on adding support for a specific key wrapping mechanism using cryptographic algorithms, with detailed implementation notes and security considerations to safeguard the encryption/decryption process.
                                            
    COMMON: Add support for CKM_ECDH_AES_KEY_WRAP to key/encrypt/decrypt … · opencryptoki/opencryptoki@785d757 · GitHub
  • 标题: COMMON: Fix CKM_ECDH_AES_KEY_WRAP buffer size calculation with compre… · opencryptoki/opencryptoki@e37e912 · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            * Commit消息: 解决了使用压缩密钥时CKM_ECDH_AES_KEY_WRAP缓冲区大小计算的问题。
    
    * 问题描述: 如果使用压缩的EC公钥进行C_WrapKey操作计算出的密钥材料大小可能出现错误,可能会导致越界写入。
    
    * 原因: 内部生成的临时EC密钥使用非压缩的EC点,但使用提供的EC公钥的EC点计算缓冲区大小,对于压缩密钥会导致缓冲区过小。
    
    * 解决方案: 在写入缓冲区时使用内部生成的EC密钥的EC点计算缓冲区大小。
    
    * 关联信息: 解决了785d757问题,由Aisle Research的研究员Pavel Kohout报告。
                                            
    COMMON: Fix CKM_ECDH_AES_KEY_WRAP buffer size calculation with compre… · opencryptoki/opencryptoki@e37e912 · GitHub
  • https://nvd.nist.gov/vuln/detail/CVE-2026-22791
四、漏洞 CVE-2026-22791 的评论

暂无评论


发表评论