摘要
在 Windows 平台上,如果处理特制的命令行参数字符串,则将命令行参数“最佳拟合”字符编码转换为Subversion 的可执行文件(例如 svn.exe等)可能会导致意外的命令行参数解释,包括参数注入和执行其他程序。类 UNIX 平台不受影响。
已知漏洞
Subversion 最高版本 1.14.3(含)。
已知修复
Subversion 1.14.4。
详细信息
在 Windows 平台上,命令行参数作为单个字符串传递给程序。由程序来分离命令行参数。在许多情况下,例如当 C 语言程序以main() 函数作为其入口点时,此命令行参数分离功能由库提供,并且对程序开发人员或多或少是透明的。此外,在 Windows 平台上,具有 main() 函数的程序默认以“ANSI”(多字节)字符串接收其命令行参数,尽管 Windows 系统本机使用 Unicode UTF-16 (WideChar)。这可能需要进行字符编码转换。在命令行上使用某些 Unicode 字符可能会触发“最佳拟合”算法来执行转换。攻击者可以使用特制的命令行参数字符串运行 Subversion 的可执行文件之一(svn.exe等),可以利用字符编码转换过程导致意外的命令行参数解释,从而导致参数注入和其他程序的执行。已知 Subversion 在 Windows 10 和 11 上受到影响;它也可能在大多数其他版本的 Windows 上受到影响。此问题仅影响 Windows 平台上的 Subversion。类 UNIX 平台不受影响。
严重性
-
CVSSv3.1 基本分数:8.2(高) -
CVSSv3.1 基本向量:CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
漏洞利用可能会导致意外的命令行参数解释、参数注入和其他程序的执行。
建议
我们建议所有用户升级到已知的 Subversion 修复版本 。
报告人
-
DEVCORE 研究团队的 Orange Tsai(@orange_8361) -
DEVCORE 研究团队的 splitline(@_splitline_)
原文始发于微信公众号(独眼情报):Windows 平台上的Apache Subversion 存在命令行参数注入漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论