CVE-2025-71116CVE-2025-71116是Linux内核中libceph模块的一个高危安全漏洞,CVSS评分7.1,属于本地攻击向量。该漏洞存在于libceph的decode_pool()函数中,由于该函数在解析osdmap(对象存储守护进程映射)时缺乏充分的边界检查,当osdmap被恶意损坏或篡改时,可能导致越界读取(Out-of-Bounds Read)漏洞。攻击者可以利用此漏洞读取内核内存中的敏感信息,如密钥、认证凭证、内核数据结构等敏感数据。此外,由于越界读取可能导致进程崩溃,还可能造成拒绝服务(DoS)影响。该漏洞需要低权限即可实施利用,但需要本地访问权限,攻击复杂度较低,无需用户交互即可触发。
该漏洞的核心问题在于decode_pool()函数处理osdmap解码时的边界检查机制不完善。在libceph中,osdmap用于存储Ceph集群中OSD(Object Storage Daemon)的拓扑信息和池配置。当解析ceph_pg_pool结构时,函数依赖编码长度值进行边界检查,但如果该长度值被恶意设置为小于预期值,函数仍会尝试解码各个字段,导致从已分配的缓冲区边界之外读取数据。具体来说,当osdmap中ceph_pg_pool信封的编码长度被恶意设置为异常小值时,函数在解码各个字段(如池名称、属性等)时会发生越界读取。攻击者可以通过构造特制的osdmap数据触发此漏洞,读取未授权的内存区域。修复方案已在多个内核提交中实现,通过为每个解码或跳过的字段添加显式边界检查来增强安全性。