Linux Distros 未修补的漏洞:CVE-2026-89762

high Nessus 插件 ID 345255

简介

Linux/Unix 主机上安装的一个或多个程序包存在漏洞,但供应商表示不会修补此漏洞。

描述

Linux/Unix 主机中安装的一个或多个程序包受到一个漏洞影响,而供应商没有提供补丁程序。

- apparmor:修复了 begin_current_label_crit_section() 造成的 cred UAF AppArmor 的 begin_current_label_crit_section() 是一个可怕的函数,可从大量 LSM 挂钩(尤其是 VFS/套接字相关的挂钩)调用,其会检查当前 creds 引用的标签是否标记为 FLAG_STALE,如果标记为 ,则尝试使用 aa_replace_current_label() 将 creds 替换为使用新标签的更新版本。这样做的第一个问题是,如果内核中的任何内容获取指向当前凭据的指针并经过替换凭据的安全挂钩调用来访问这些凭据,将直接导致“struct cred”的 UAF,如下所示: ''' const struct cred *cred = current_cred();
alloc_file_pseudo(...);uid_t uid = cred->euid;“我不知道内核中是否有任何东西实际上这样做,但我认为这种模式可能导致 UAF 是非常令人惊讶的。第二个问题是 aa_replace_current_label() 以替代的凭据运行时出错。
如果 'current_cred() != current_real_cred()'(镜像 proc_pid_attr_write() 中的检查),则 aa_replace_current_label() 退出),但此检查实际上无法可靠地检测替代的凭据,因为替代的凭据可能与目标凭据相同。因此,在大约以下情况下,事情会出错: 1. 任务以(客观和主观信用)开 <creds A> 头,refcount=2 2. 任务获取一个额外的引用 <creds A> 以覆盖 3. 任务调用 override_creds(),<creds A>它返回指向旧主观信用 (<creds A>) 的指针 4. 任务进入 AppArmor LSM 挂钩 5.
AppArmor 检查客观/主观信用是否相等 6.AppArmor 将两个 cred 指针 <creds B> 替换为并删除 7 上的 <creds A> 2 个引用。任务离开 AppArmor LSM 挂钩 8. 任务调用 revert_creds(<creds A>) 9. 现在 task->cred 是 <creds A> ,而 task->real_cred 是 <creds B>,但task_struct在逻辑上保留了两个对 10 的 <creds B> 引用。 另一个任务删除用于覆盖的额外引用 <creds A> ,refcount 下降到 0 11。 现在 task->real_cred 指向已释放的 creds 此时, 对 current_cred() 的任何访问都将是 UAF。我有一个测试用例,我在配置文件上运行 aa-disable,而使用该配置文件的进程在 splice() 上被阻止,从 FUSE 直通文件进入完整管道;配置文件更新后,管道变为空白,splice() 恢复,凭据失去同步,后续的 getuid() 系统调用将导致 KASAN UAF splat。要修复此问题,请通过将在当前 syscall 末尾运行的 task_work 来进行修复,而不是直接替换 creds。(cred 替换发生的时间点应该不会对正确性产生影响,它只是为了避免不必要地接触新标签的引用计数而进行的性能优化。请注意,在此更改之后,AppArmor 仍会在 sb_pivotroot LSM 挂钩中执行直接 cred 替换,且 VFS ->write() 回调中仍可通过 proc_pid_attr_write() 进行直接 cred 替换。对于如何处理 aa_dup_task_ctx() 有两个选项:要么在复制整个aa_task_ctx后显式重置新>label_replacement_pending,要么切换为手动复制成员。我正在切换到手动复制成员,因为这应该会使错误更加明显。(CVE-2026-89762)

请注意,Nessus 依赖供应商报告的程序包是否存在进行判断。

解决方案

目前尚未有任何已知的解决方案。

另见

https://security-tracker.debian.org/tracker/CVE-2026-89762

插件详情

严重性: High

ID: 345255

文件名: unpatched_CVE_2026_89762.nasl

版本: 1.1

类型: Local

代理: unix

系列: Misc.

发布时间: 2026/9/12

最近更新时间: 2026/9/12

支持的传感器: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

风险信息

VPR

风险因素: Medium

分数: 6.3

百分位: 96.4

CVSS v2

风险因素: Low

基本分数: 2.1

时间分数: 1.8

矢量: CVSS2#AV:L/AC:L/Au:N/C:N/I:P/A:N

CVSS 分数来源: CVE-2026-89762

CVSS v3

风险因素: High

基本分数: 7.1

时间分数: 6.5

矢量: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H

时间矢量: CVSS:3.0/E:U/RL:U/RC:C

漏洞信息

CPE: cpe:/o:debian:debian_linux:12.0, cpe:/o:debian:debian_linux:13.0, cpe:/o:debian:debian_linux:14.0, p-cpe:/a:debian:debian_linux:linux

必需的 KB 项: Host/local_checks_enabled, Host/cpu, global_settings/vendor_unpatched, Host/OS/identifier

易利用性: No known exploits are available

漏洞发布日期: 2026/9/11

参考资料信息

CVE: CVE-2026-89762