CVE-2026-23407Linux内核AppArmor组件存在安全漏洞。在verify_dfa()函数中,仅对非差分编码状态检查DEFAULT_TABLE边界。当遍历差分编码链时,直接使用DEFAULT_TABLE[j]作为数组索引而未验证其范围。攻击者可利用畸形DFA数据导致越界读写,进而造成内核崩溃或权限提升。
该漏洞源于Linux内核AppArmor模块在验证确定性有限自动机(DFA)时的逻辑缺陷。函数verify_dfa()负责验证DFA表的有效性,但在处理差分编码的DFA状态转换时,存在变量k(源自DEFAULT_TABLE[j])的边界检查缺失。具体而言,代码在未判断k是否小于state_count的情况下,将其用作索引访问数组。这导致KASAN(内核地址消毒器)检测到slab-out-of-bounds错误。攻击者可通过特制的AppArmor策略文件触发此漏洞,在内核空间进行越界读写操作,从而可能导致拒绝服务或通过覆盖关键内核对象实现本地权限提升。