CVE-2019-19726 OpenBSD dynamic loader 本地提权漏洞

💡 原文中文,约7000字,阅读约需17分钟。
📝

内容提要

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 程序才能利用此提权漏洞。
➡️

继续阅读