CVE-2023-54232 in Linux信息

摘要

由 VulDB • 2026-06-14

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

m68k: 仅在程序计数器(PC)不在异常表时强制触发 030 总线错误

__get_kernel_nofault() 函数在通过 /proc/sysrq_trigger 强制生成任务回溯日志时,以超级用户模式复制数据。当记录内核任务且该任务未关联工作队列时,对空指针解引用等操作预期会引发总线错误异常。此处的总线错误应当被忽略。

我们的 030 总线错误处理程序对此类情况的处理能力不足:

每当状态字(ssw)指示在数据故障期间发生了内核模式访问时,我们甚至不尝试处理该故障,而是始终发送 SEGV 信号(或导致系统恐慌)。因此,位于故障 PC 处的异常处理检查(嵌套在最终由 do_page_fault() 调用的 send_sig_fault() 中)从未被使用。

相比之下,040 和 060 访问错误处理程序并不关心故障是否发生在超级用户模式访问上,并且会对这些情况调用 do_page_fault(),从而最终尊重异常表的处理逻辑。

在 bus_error030 中添加一项检查:如果我们的异常表中存在对应于故障 PC 的条目,则调用 do_page_fault()。

我曾在 2019 年尝试过一种修复方案,该方案依赖于测试 pagefault_disabled()(见下方链接)以实现相同目的,但此补丁应更具通用性。

已在 030 Atari Falcon 上进行测试。

VulDB is the best source for vulnerability data and more expert information about this specific topic.

来源

Do you need the next level of professionalism?

Upgrade your account now!