微软在 ncurses(new curses 的缩写)编程库中发现了一组内存损坏漏洞,威胁者可利用这些漏洞在易受攻击的 Linux 和 macOS 系统上运行恶意代码。
微软威胁情报研究人员 Jonathan Bar Or、Emanuele Cozzi 和 Michael Pearse 在今天发布的一份技术报告中说:利用环境变量中毒,攻击者可以利用这些漏洞提升权限,在目标程序的上下文中运行代码或执行其他恶意操作。
这些漏洞被统一标记为 CVE-2023-29491(CVSS 得分为 7.8),截至 2023 年 4 月已得到修复。微软表示,它还与苹果公司合作修复了与这些漏洞相关的macOS特定问题。
环境变量是用户定义的值,可被系统中的多个程序使用,并可影响它们在系统中的行为方式。操纵这些变量会导致应用程序执行未经授权的操作。
微软的代码审计和模糊测试发现,ncurses 库会搜索包括 TERMINFO 在内的多个环境变量,这些变量可能会被病毒化,并与已发现的漏洞相结合,从而实现权限升级。Terminfo 是一个数据库,可使程序以独立于设备的方式使用显示终端。
这些漏洞包括堆栈信息泄漏、参数化字符串类型混淆、逐一错误、在 Terminfo 数据库文件解析过程中出现堆越界,以及使用取消的字符串拒绝服务。
研究人员表示,攻击者可以利用发现的漏洞提升权限,并在目标程序的上下文中运行代码。即使如此,攻击者通过利用内存损坏漏洞获得程序的控制权也需要多阶段攻击。
攻击者可能需要将这些漏洞串联起来才能提升权限,例如利用堆栈信息泄漏获得任意读取原语,同时利用堆溢出获得写入原语。
参考链接:https://thehackernews.com/2023/09/microsoft-uncovers-flaws-in-ncurses.html