近日,奇安信CERT监测到Linux Kernel本地权限提升漏洞,net/ipv4/esp4.c 和 net/ipv6/esp6.c 中的 IPsec ESP 转换代码中存在堆缓冲区溢出问题,成功利用此漏洞允许具有普通用户权限的本地攻击者覆盖内核堆对象,可以实现本地权限提升。目前,此漏洞细节、POC及EXP已在互联网上流传。鉴于此漏洞POC已公开,建议客户尽快做好自查及防护。
漏洞名称 | Linux Kernel本地权限升级漏洞 | ||
公开时间 | 2022-03-23 | 更新时间 | 2022-03-29 |
CVE编号 | CVE-2022-27666 | 其他编号 | QVD-2022-1692 |
威胁类型 | 权限提升 | 技术类型 | 缓冲区溢出 |
厂商 | Linux | 产品 | Linux Kernel |
风险等级 | |||
奇安信CERT风险评级 | 风险等级 | ||
高危 | 蓝色(一般事件) | ||
现时威胁状态 | |||
POC状态 | EXP状态 | 在野利用状态 | 技术细节状态 |
已公开 | 已公开 | 未发现 | 已公开 |
漏洞描述 | Linux Kernel存在本地权限升级漏洞,net/ipv4/esp4.c 和 net/ipv6/esp6.c 中的 IPsec ESP 转换代码中存在堆缓冲区溢出问题,成功利用此漏洞允许具有普通用户权限的本地攻击者覆盖内核堆对象,可能实现本地权限升级。 | ||
影响版本 | 4.11 < Linux Kernel 4.x Linux Kernel 5.x < 5.16.15 | ||
不受影响版本 | Linux Kernel >= 5.16.15 Linux Kernel >= 5.15.29 Linux Kernel >= 5.4.188 Linux Kernel >= 4.19.237 Linux Kernel >= 4.14.274 Ubuntu: impish: 5.13.0-39.44 bionic: 4.15.0-175.184 Focal: 5.4.0-107.121 Debian stretch 4.9.228-1 stretch (security) 4.9.303-1 | ||
其他受影响组件 | 无 |
漏洞信息
Linux 内核是 Linux 操作系统(OS)的主要组件,也是计算机硬件与其进程之间的核心接口。
Linux Kernel存在本地权限升级漏洞,net/ipv4/esp4.c 和 net/ipv6/esp6.c 中的 IPsec ESP 转换代码中存在堆缓冲区溢出问题,成功利用此漏洞允许具有普通用户权限的本地攻击者覆盖内核堆对象,可能实现本地权限升级。目前,此漏洞细节、POC及EXP已在互联网上流传。鉴于此漏洞POC已公开,建议客户尽快做好自查及防护。
奇安信CERT已成功复现Linux Kernel本地权限升级漏洞(CVE-2022-27666),复现截图如下:
威胁评估
漏洞名称 | Linux Kernel本地权限升级漏洞 | |||
CVE编号 | CVE-2022-27666 | 其他编号 | QVD-2022-1692 | |
CVSS 3.1评级 | 高危 | CVSS 3.1分数 | 7.8 | |
CVSS向量 | 访问途径(AV) | 攻击复杂度(AC) | ||
本地 | 低 | |||
所需权限(PR) | 用户交互(UI) | |||
低 | 不需要 | |||
影响范围(S) | 机密性影响(C) | |||
不改变 | 高 | |||
完整性影响(I) | 可用性影响(A) | |||
高 | 高 | |||
危害描述 | Linux Kernel存在本地权限升级漏洞,net/ipv4/esp4.c 和 net/ipv6/esp6.c 中的 IPsec ESP 转换代码中存在堆缓冲区溢出问题,成功利用此漏洞允许具有普通用户权限的本地攻击者覆盖内核堆对象,可能实现本地权限升级。 |
处置建议
目前,Linux官方已针对此漏洞提交修复补丁,建议用户尽快升级至安全版本。
1.版本升级
升级到安全版本:
Linux Kernel >= 5.16.15
Linux Kernel >= 5.15.29
Linux Kernel >= 5.4.188
Linux Kernel >= 4.19.237
Linux Kernel >= 4.14.274
Ubuntu:
impish: 5.13.0-39.44
bionic: 4.15.0-175.184
Focal: 5.4.0-107.121
Debian
stretch 4.9.228-1
stretch (security) 4.9.303-1
2.缓解措施
非容器化部署中可以使用下面的方法缓解
您可以通过将 user.max_user_namespaces 设置为 0 来禁用用户命名空间:
echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf sysctl -p / etc/sysctl.d/userns.conf
3.排查方法
可以使用uname -a 查看内核版本是否在漏洞版本内
参考资料
[1] https://access.redhat.com/security/cve/CVE-2022-27666
[2] https://buaq.net/go-108160.html
[3] https://ubuntu.com/security/CVE-2022-27666
[4] https://security-tracker.debian.org/tracker/CVE-2022-27666
声明:本文来自奇安信 CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。