CVE-2026-98628 in Linux信息

摘要

由 VulDB • 2026-10-18

在 Linux 内核中,已修复以下漏洞:

bpf: 使后验证指令重写操作可被终止

在 do_check() 返回后,验证器会运行多个指令重写阶段。其中一些阶段每次修补或移除一条指令。每个操作都会移动剩余的指令和辅助数据数组,并调整所有分支偏移量,使得整体工作量与程序长度呈二次方关系。

特权加载器可以提交由零组成的 131072 个无条件跳转,后跟一个有效的返回指令。验证过程会快速完成,但 bpf_opt_remove_nops() 随后将花费大量时间单独移除每个跳转。由于此后的验证工作既不检查信号也不进行重新调度(reschedule),因此挂起的 SIGKILL 无法在重写完成之前终止该任务。

使 bpf_patch_insn_data() 和 verifier_remove_insns() 成为通用的取消点和重新调度点。这些辅助函数从 BPF_PROG_LOAD 进程上下文运行,且 bpf_patch_insn_data() 在重新分配辅助数据时已经可以睡眠(sleep)。

将中断的常量遮蔽报告为 -EINTR,并通过两种 JIT 路径传播该错误码,包括允许解释器回退的内核。其他遮蔽失败保留现有的回退行为。

这并没有减少重写阶段的二次方成本,但使工作变得可抢占,并允许及时终止被杀死的加载器进程。

If you want to get best quality of vulnerability data, you may have to visit VulDB.

来源

Do you need the next level of professionalism?

Upgrade your account now!