从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 问题: 和 函数在使用uprobes时存在安全问题。 - 原因: - 这些函数最初是为kprobes设计的,使用了plain C访问内存。 - 当uprobes被添加后,这些函数被直接使用,但它们无法安全地访问用户内存。 - 这些函数在实际使用中会遇到硬件和软件异常,导致内核崩溃。 - 这些函数在模拟时会访问一个非常小的内存范围,导致在某些情况下无法正确模拟。 2. 解决方案: - 避免使用uprobes:禁止在LDR (literal) 和 LDRSW (literal) 上使用uprobes。 - 限制使用:限制 和 的使用。 - 未来考虑:考虑引入支持这些指令的uprobes,但需要更多的工作。 3. 修复和补丁: - 修复:修复了 的问题。 - 补丁:补丁由Mark Rutland和Catalin Marinas提交,由Will Deacon和Greg Kroah-Hartman审核。 4. 影响: - 这些函数在历史上没有报告过问题,但它们的使用可能会导致内核崩溃。 5. 代码更改: - 代码更改包括删除了对 和 的调用,改为使用 。 这些信息表明,这个漏洞是由于在uprobes中使用了不安全的函数导致的,修复了这个问题并限制了这些函数的使用。