点击上方“蓝字”,关注更多精彩
0x00 漏洞概述
eBPF(extended Berkeley Packet Filter)
是一种可以在 Linux
内核中运行用户编写的程序,而不需要修改内核代码或加载内核模块的技术。简单来说eBPF
让 Linux
内核变得可编程化了。由于内核在执行用户提供的 eBPF
程序前缺乏适当的验证,攻击者可以利用这个漏洞获取root
权限。
0x01 漏洞范围
影响版本:Linux kernel 5.8 - 5.16
不受影响版本:Linux kernel 5.10.92, 5.15.15, 5.16.1
0x02 漏洞检测
uname -a
tail /proc/sys/kernel/unprivileged_bpf_disabled
如果Linux内核在5.8-5.16之间,并且tail...
的回显为0,即漏洞存在;如果回显为1或者2,则不存在此漏洞。
值为0表示允许非特权用户调用bpf
值为1表示禁止非特权用户调用bpf且该值不可再修改,只能重启后修改
值为2表示禁止非特权用户调用bpf,可以再次修改为0或1
0x03 漏洞复现
复现利用的是ubuntu18-desktop
版本
1、ubuntu
安装gcc
和make
sudo apt install gcc make -y
2、远程下载exp
并编译用普通用户执行exp
,即可提权
git clone https://github.com/tr3ee/CVE-2022-23222.git
0x04 修复建议
1、排查方法即上述漏洞检测。
2、升级内核至安全版本。
3、缓解措施: 禁止非特权用户执行BPF程序,即使重启后依然能够防御成功。
echo 1 > /proc/sys/kernel/unprivileged_bpf_disabled
0x05 references
https://github.com/tr3ee/CVE-2022-23222
https://tr3e.ee/posts/cve-2022-23222-linux-kernel-ebpf-lpe.txt
https://mp.weixin.qq.com/s/QJz9so27ao4rmT1Sbp74KA
往期推荐
CVE-2021-4034 Linux Polkit本地提权漏洞
CVE-2021-31760 Webmin CSRF致使RCE
CVE-2022-22965 Spring core RCE漏洞
CVE-2020-1472 ZeroLogon漏洞复现利用(Netlogon域提权)
郑重声明:该公众号大部分文章来自作者日常工作与学习笔记,也有少数文章是经过原作者授权转载而来,未经授权,严禁转载。如需要,请公众号私信联系作者。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与原作者以及本公众号无关。
原文始发于微信公众号(HACK技术沉淀营):CVE-2022-23222 Linux内核eBPF提权
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论