关键信息 漏洞概述 漏洞名称: command injection when using placeholder on Windows (Bypass of CVE-2024-22423) 发布者: bashonly 发布时间: 4天前 CVE ID: CVE-2025-54072 CVSS v3 基本指标: - 严重性: High (7.5/10) - 攻击向量: Network - 攻击复杂度: High - 所需权限: None - 用户交互: Required - 范围: Unchanged - 机密性: High - 完整性: High - 可用性: High 影响范围 受影响版本: < 2025.07.21 修复版本: 2025.07.21 描述 总结: 当在Windows上使用默认占位符(或 {})时,对展开的文件路径应用了不充分的清理,这可能导致远程代码执行。这是CVE-2024-22423缓解措施的绕过,其中默认占位符和 {}未被新的转义规则覆盖。 影响: 假设此漏洞的影响最小,因为利用需要用户环境中包含奇数个“”字符的变量,这似乎很少见。此外,尚未发现针对此漏洞的恶意制作元数据。 修复措施 补丁: yt-dlp版本2025.07.21通过将新的转义规则应用于占位符扩展来修复此问题。 变通方法: 建议尽快升级yt-dlp到版本2025.07.21。同时,在使用--exec时要小心,因为虽然此特定漏洞已被修补,但在shell命令中使用未经验证的输入本质上是危险的。 细节 详情**: 在一般情况下,--exec可以用于在子shell中运行任意命令,并从当前下载的元数据中的参数。如果模板字段(或 {})存在于--exec参数中,()会被追加为默认值。yt-dlp然后用文件路径替换(),该文件路径通过shell_quote(yt_dlp.postprocessor.exec.py#L21)进行清理。但是,代码错误地没有将shell=True传递给shell_quote。在exec后处理器中(它确实正确地将shell=True传递给yt_dlp.utils.Popen),这导致错误的转义规则应用于展开的文件路径。 引用 GHSA-45hg-7f49-5h56 CVE-2025-54072 yt-dlp/releases/tag/2025.07.21 89ac99 GHSA-hgq6-52qw-zq7p CVE-2024-22423