CVE-2026-22035CVE-2026-22035是Greenshot开源Windows截图工具中的一个高危命令注入漏洞。该漏洞影响Greenshot 1.3.310及以下版本,源于ExternalCommandDestination.cs文件中FormatArguments方法对用户可控的文件名缺乏安全过滤处理。攻击者可以通过构造包含Shell元字符的恶意文件名,在Greenshot处理截图保存或导出操作时注入并执行任意系统命令。CVSS评分7.7,属于高危级别,攻击复杂度低且无需认证即可实施,但需要用户交互。由于该工具广泛用于日常工作流程,攻击者可利用此漏洞在受害者机器上建立持久化访问权限、窃取敏感数据或部署恶意软件。此漏洞已于1.3.311版本中修复,建议用户立即升级。
漏洞根源位于Greenshot的ExternalCommandDestination.cs第269行的FormatArguments方法中。该方法使用string.Format()将用户提供的文件名直接拼接到Shell命令字符串中,完全缺少输入消毒处理。当用户保存或导出截图时,如果文件名包含特殊Shell元字符(如分号、管道符、反引号等),这些字符会被解释为命令分隔符或子命令执行符。例如,文件名`screenshot.png;calc.exe`会导致在截图保存过程中执行额外的calc.exe命令。攻击者可通过钓鱼或社会工程学手段诱导用户保存带有恶意构造的文件名,系统随即以Greenshot进程权限执行任意代码。修复方案采用引号包裹和转义处理,确保文件名作为纯字符串参数传递而非命令片段。