Linux内核在BPF JIT编译器中不正确计算分支位移

2021-04-10 12:35:14

日期:星期四,4月20日25日16:24:26 + 0100起来:piotr krysiuk< piotras @ ... Il.com> to:oss-security @ ... ts.openwall.comsubject:[cve-2021-29154] Linux内核在BPF JIT编译器中的分支位移计算可以滥用,以便在Linux内核中发现内核中的任意代码在Linux内核中发现,可以滥用普通的本地用户来升级权限。问题是BPF JIT编译器的一些在生成机器代码时架构ComputeBranch位移。这可以是滥用的制作异常机器代码并在内核模式下执行它,其中控制流被劫持以执行不安全的代码.I开发了x86-64和x86-32架构的poc,以便通过非特权的本地用户演示在内核模式下演示执行。这些Pocs之一已私下共享,< security @ ... nel.org>协助修复开发.patches以减轻x86-64和x86-32架构的问题。这些修补程序不会尝试纠正底层algorithm,而是断言所有计算都已执行,使得所有不安全的输入都被拒绝。通过BPF子系统公共git存储库发布了修补程序:* https://git.kernel.org/pub/ SCM / Linux / kernel / git / bpf / bpf.git / patch / bpf.git / patch / free = e4d4d456436bfb2fe412ee2cd489f7658449b098 * https://git.kernel.org/pub/scm/linux/kernel/git/bf/bpf.git/patch/? ID = 26F55A59DC65FF777CD1C4B37991E26497FC68049#discovererpiotr Krysiuk< piotras @ ... Il.com> #craftencescve-2021-29154(通过https://cveform.mitre.org/保留)