CVE-2026-43304Linux内核libceph组件在处理密钥解码时存在严重安全漏洞。该问题源于未强制执行密钥长度限制,导致攻击者可利用超长密钥触发缓冲区溢出。由于漏洞允许无需认证的远程利用,攻击者可导致系统崩溃或获取敏感权限,严重影响系统的机密性、完整性和可用性。
该漏洞具体存在于Linux内核的libceph模块中的`process_auth_done()`函数。在解码密钥材料时,原代码仅检查了密钥是否为空(排除`CEPH_CRYPTO_NONE`),却未验证密钥长度是否超过预设缓冲区大小。攻击者可以利用这一逻辑缺陷,通过网络向目标发送特制的Ceph协议认证数据包,其中包含超长或畸形密钥数据。当内核解析该数据包时,由于缺少`CEPH_MAX_KEY_LEN`的强制检查,会将过长的数据写入固定大小的缓冲区,从而引发栈或堆溢出。鉴于CVSS向量显示无需用户交互和权限认证,此漏洞可被远程利用,导致内核崩溃、拒绝服务,甚至可能执行任意内核代码,完全控制主机。参考链接中的Git提交记录显示,修复方案引入了`CEPH_MAX_KEY_LEN`宏定义,并在解码前严格校验密钥长度,确保了数据的安全性。