CVE-2026-26331
yt-dlp:使用 --netrc-cmd 选项时的任意命令注入漏洞
- 已发布
- 2026年2月24日
- 已更新
- 2026年2月24日
- 分配 CNA
- GitHub_M
- 观察到的证据
- 2026年8月25日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H低 · 未来 30 天
- 百分位
- 74.2%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
yt-dlp 是一款命令行音视频下载工具。从版本 2023.06.21 起至版本 2026.02.21 之前,当使用 yt-dlp 的 `--netrc-cmd` 命令行选项(或 `netrc_cmd` Python API 参数)时,攻击者可通过恶意构造的 URL 在用户系统上实现任意命令注入。yt-dlp 维护者认为,对于任何在命令/配置中使用 `--netrc-cmd` 或在 Python 脚本中使用 `netrc_cmd` 的用户而言,此漏洞的影响程度较高。尽管恶意构造的 URL 本身对许多用户来说会显得非常可疑,但一个带有不起眼 URL 的恶意网页可以轻易地通过 HTTP 重定向隐蔽地利用此漏洞。未在参数中使用 `--netrc-cmd` 或在脚本中未使用 `netrc_cmd` 的用户不受影响。目前未发现该漏洞在现实环境中被利用的证据。yt-dlp 版本 2026.02.21 通过验证所有 netrc "machine" 值并在遇到意外输入时抛出错误来修复此问题。作为临时解决方案,无法升级的用户应避免使用 `--netrc-cmd` 命令行选项(或 `netrc_cmd` Python API 参数),或者至少不要在 `--netrc-cmd` 参数中传递占位符(`{}`)。
来源
1概念验证,演示通过 yt-dlp 的 `--netrc-cmd` 选项实现任意命令注入,利用 URL 中的 shell 元字符在受影响版本上执行命令。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。