OpenLiteSpeed Web 服务器被曝多个严重性漏洞
网络安全团队Unit 42研究并发现了开源OpenLiteSpeed Web服务器中的三个不同漏洞。这些漏洞也会影响企业版LiteSpeed Web服务器。通过链接和利用漏洞,攻击者可能会破坏 Web 服务器并获得完全特权的远程代码执行。三个漏洞包括:
- 远程执行代码(CVE-2022-0073)评级为高严重性(CVSS 8.8)
- 权限升级(CVE-2022-0074)评级为高严重性(CVSS 8.8)
- 目录遍历(CVE-2022-0072)评级为中等严重性(CVSS 5.8)
OpenLiteSpeed是LiteSpeedWeb Server Enterprise 的开源版本,由 LiteSpeed Technologies 开发和维护。LiteSpeed Web服务器在最受欢迎的Web服务器中排名第六。数据分析显示,LiteSpeed 为大约 2% 的 Web 服务器应用程序提供服务,在全球拥有近 190 万台的独立服务器。
远程代码执行
成功获得仪表板凭证的威胁行为者(无论是通过暴力攻击还是通过社会工程)可以利用该漏洞在服务器上执行代码。该漏洞存在于外部应用程序命令字段中,该字段允许用户指定在服务器启动时执行的命令。
权限提升
在以nobody身份探索 OpenLiteSpeed Docker 映像时,PATH环境变量中存在配置错误,可以使用 CWE不受信任的搜索路径将其利用为权限提升。
执行具有相对路径的二进制文件时,操作系统将查看包含目录列表的PATH变量。然后,它将按照与目录显示相同的顺序在列出的文件夹中搜索该二进制文件。
在这种情况下,问题是PATH中的第二个目录是 /usr/local/bin,这是一个用户没有人控制的目录。
这会导致这样一种情况:攻击者可以非特权用户(例如nobody)执行代码以放置恶意文件并将其伪装成合法的二进制文件/usr/local/bin,目的是由高特权进程执行该文件,因为它位于PATH环境变量的第二个目录中。
能够通过滥用脚本entrypoint.sh来利用这一点,如图 1 所示,该脚本以root身份运行并重复执行二进制grep。
图1
通过链接这些漏洞,我们能够获得远程代码执行并将我们的权限提升到root,如图 2 所示。
链接漏洞的代码片段,以获得远程代码执行并将权限提升到根。
图2
此漏洞要求受控用户具有 /usr/local/bin 的写入权限,默认情况下通常不是这种情况。在 OpenLiteSpeed docker 容器中,默认情况下,此目录可由用户nobody写入。
目录遍历
目录遍历漏洞可能允许攻击者绕过安全措施并访问禁止的文件。入侵服务器的攻击者可以创建秘密后门并利用此漏洞访问它。
当在LiteSpeed中浏览时,服务器将确保客户端只访问应该对他们可见的端点。它通过验证所请求的URL不包含将导致目录遍历的字符,从而允许它们访问被禁止的端点来实现这一点。
这个验证是通过两个正则表达式完成的,分别在第2060行和2061行。通过绕过那些正则表达式验证,能够访问最初无法访问的路径。
利用此漏洞允许攻击者访问 Web 根目录中的任何文件,但仅限于该目录。
缓解措施
LiteSpeed Technologies技于 2022 年 10 月 18 日迅速发布了补丁版本(v1.7.16.1),以缓解报告的漏洞。
建议使用 OpenLiteSpeed 版本 1.5.11 至 1.7.16 和 LiteSpeed 版本 5.4.6 至 6.0.11 的组织将其软件更新到最新的匹配版本,v1.7.16.1 和6.0.12。
包括Web服务器在内的Web技术在过去几十年中取得了长足的进步。它们变得更加安全,但由于技术仍在快速发展,漏洞仍在被发现。
参考来源:
https://unit42.paloaltonetworks.com/openlitespeed-vulnerabilities/
https://thehackernews.com/2022/11/multiple-high-severity-flaw-affect.html