CVE-2019-19726 OpenBSD 动态加载器本地特权升级漏洞
💡
原文英文,约1000词,阅读约需4分钟。
📝
内容提要
OpenBSD动态加载器中的本地特权升级漏洞CVE-2019-19726允许攻击者通过操纵LD_LIBRARY_PATH环境变量来提升权限。该漏洞已被提名为2020 Pwnie奖。文章分析了漏洞并演示了测试代码。还讨论了SUID-root程序中LD_LIBRARY_PATH环境变量的处理方式,并解释了漏洞的利用方法。
🎯
关键要点
- CVE-2019-19726 是 OpenBSD 动态加载器中的本地提权漏洞,允许攻击者通过操纵 LD_LIBRARY_PATH 环境变量来提升权限。
- 该漏洞由 Qualys Research Team 发现,并获得 2020 年 Pwnie Awards 提名。
- 漏洞分析部分介绍了 setrlimit 和 RLIMIT_DATA 的概念,说明了进程如何限制自身的资源使用上限。
- 对于 SUID-root 程序,链接器需要去除危险的环境变量,以防止通过环境变量实现提权。
- 漏洞利用部分描述了如何通过 /usr/bin/chpass 程序实现提权,强调了 LD_LIBRARY_PATH 在特定情况下不会被清理。
- 总结指出,只有极少数满足条件的 SUID-root 程序才能利用此提权漏洞。
❓
延伸问答
CVE-2019-19726 漏洞是如何被发现的?
该漏洞由 Qualys Research Team 发现,并获得 2020 年 Pwnie Awards 提名。
CVE-2019-19726 漏洞的利用方法是什么?
攻击者通过操纵 LD_LIBRARY_PATH 环境变量,利用 /usr/bin/chpass 程序实现提权。
LD_LIBRARY_PATH 环境变量在 SUID-root 程序中是如何处理的?
链接器需要去除危险的环境变量,以防止通过环境变量实现提权。
CVE-2019-19726 漏洞的核心问题是什么?
漏洞在于动态加载器清理 LD_LIBRARY_PATH 环境变量时的缺陷,导致权限提升。
该漏洞对系统安全有什么影响?
该漏洞允许攻击者提升权限,可能导致系统安全性降低。
如何修复 CVE-2019-19726 漏洞?
漏洞补丁可参考 libexec/ld.so/loader.c 文件。
➡️