当前位置:首页 > 软件 > >

Linux内核6.13中的问题差点引发严重后果 微软代码贡献遭批评

Linux内核6.13中的问题差点引发严重后果 微软代码贡献遭批评
2025-01-14 17:28:25 来源:聚焦媒体网

  科技媒体NeoWin报道,Linux内核6.13版本发布时,微软所贡献的一段代码差点造成系统严重故障。该代码本应提升x86_64(即64位AMD与英特尔CPU架构)性能,但因未经相关内核维护者确认而引发了系统稳定性问题,尤其是破坏了控制流完整性(CFI)功能。幸好,在英特尔和AMD的迅速干预下,问题最终得以解决。

  微软代码对Linux内核6.13的贡献

  微软贡献的代码主要涉及到与ARCH_HAS_EXECMEM_ROX内核配置相关的功能,该配置使得执行内存(EXECMEM)能够使用只读执行(ROX)权限。这一改动本意是提升x86_64架构下的性能,尤其是在AMD与英特尔的64位处理器上。然而,这段代码未经确认直接合并进了Linux内核6.13版本,结果导致了无法预见的系统问题。

  控制流完整性(CFI)受到影响

  Linux内核中的控制流完整性(CFI)是一项重要的安全措施,它的作用是保护程序免受恶意软件攻击,确保程序在执行时的控制流不被篡改。具体来说,控制流执行技术(CET)通过影子堆栈和间接分支目标(IBT)来防御常见的攻击方式,如返回导向编程(ROP)和调用/跳转导向编程(COP/JOP)攻击。

  然而,微软提供的这段代码破坏了CFI的正常运行,导致影子堆栈和IBT无法正常工作,从而降低了系统的安全性。部分情况下,CFI变体还可能导致系统崩溃,严重影响用户体验。

  英特尔与AMD的及时介入

  面对这一问题,英特尔和AMD的技术人员迅速采取行动进行修复。英特尔的Peter Zijlstra提交了紧急补丁,恢复了与EXECMEM_ROX支持相关的更改。Zijlstra指出,微软贡献的代码导致了alternative.c文件的重大混乱,甚至有些CFI变体仍存在错误,并可能导致崩溃。

  同时,AMD的Borislav Petkov也对这段未经确认的代码提出批评,他表示,这段代码没有经过任何x86架构维护者的审查就被合并,造成了大量的问题。Petkov强调,操作系统内核代码的合并需要严格的审查流程,避免出现类似问题。

关键词:Linux

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。

投诉邮箱:Email:133 46734 45@qq.com

相关新闻