CVE-2026-23269CVE-2026-23269是Linux内核AppArmor安全模块中的一个高危漏洞,CVSS评分7.1。该漏洞存在于AppArmor策略库的解包过程中,具体为unpack_pdb函数对DFA(确定性有限自动机)起始状态的边界验证不足。攻击者可利用此漏洞通过构造恶意AppArmor策略文件,使系统在内核层面发生越界读取操作,可能导致敏感信息泄露或系统崩溃。由于攻击向量为本地且需要低权限,攻击门槛相对较低,对运行AppArmor的Linux系统构成实质性威胁。
在Linux内核的AppArmor安全模块中,unpack_pdb()函数负责解析和解包AppArmor策略数据库(PDB)文件。问题出在该函数读取的DFA起始状态(start states)来自不可信的外部数据,但未进行充分的边界验证。这些起始状态值被直接用作aa_dfa_next()函数的索引参数,用于访问dfa->tables[YYTD_ID_BASE][start]表中的数据。当攻击者精心构造的策略文件中包含超出DFA状态表合法范围的状态值时,aa_dfa_next()函数会执行越界读取操作。KASAN检测工具捕获到的错误信息显示'slab-out-of-bounds in aa_dfa_next',证实了这一越界访问行为。攻击者可通过诱使系统加载恶意策略来触发此漏洞,利用越界读取可能泄露内核内存布局信息或导致系统不稳定。修复方案在策略解包阶段增加对起始状态的边界检查,拒绝包含越界起始状态的策略文件。