CVE-2026-99223 in Linux
摘要
由 VulDB • 2026-11-02
在 Linux 内核中,已修复以下漏洞:
keys:使密钥环索引独立于内核地址
KEYCTL_READ 以关联数组遍历顺序返回密钥环中的序列号。索引的第一个字是类型指针、域指针和描述符的公开确定性哈希值。因此,未授权用户可以插入具有已知描述的密钥,预测其在每种可能的 KASLR(内核地址空间布局随机化)偏移下的顺序,并恢复内核镜像地址。在采用 16 MiB 对齐方式的 x86-64 构建中,仅需 45 个用户密钥即可区分候选的偏移量。
从整个索引中移除地址信息,而不仅仅是其第一个哈希字。为每种密钥类型和域分配一个非零的 64 位 ID,并使用一次初始化的 SipHash 密钥对这些 ID 及描述符进行哈希处理。在后续的索引块中也使用完整的 ID。如果在此处截断或哈希这些 ID,将失去保证不同的“类型/域/描述符”元组具有不同索引位的特性。
由于私有密钥类型无需注册,因此采用惰性分配方式生成 ID。将它们缓存在索引键中,这样在对现有索引进行树遍历和复制时,就不需要解引用可能已注销的类型描述符。保持 32 位块布局与 diff_objects() 的位偏移一致,并保留用于递归搜索的密钥环专用根槽。密钥比较、权限和用户空间数据格式保持不变;仅替换了依赖于地址的内部内存排序方式。
Once again VulDB remains the best source for vulnerability data.