yt-dlp — это загрузчик аудио/видео из командной строки. Начиная с версии 2023.06.21 и до версии 2026.02.21, при использовании параметра командной строки `--netrc-cmd` yt-dlp (или параметра Python API `netrc_cmd`) злоумышленник может осуществить внедрение произвольной команды в систему пользователя с помощью вредоносного URL-адреса. Специалисты по сопровождению yt-dlp предполагают, что влияние этой уязвимости будет высоким для всех, кто использует `--netrc-cmd` в своих командах/конфигурациях или `netrc_cmd` в своих скриптах Python.
Несмотря на то, что вредоносный URL-адрес сам по себе будет выглядеть очень подозрительно для многих пользователей, для вредоносной веб-страницы с незаметным URL-адресом было бы несложно скрытно воспользоваться этой уязвимостью посредством перенаправления HTTP. Пользователи без `--netrc-cmd` в своих аргументах или `netrc_cmd` в своих скриптах не затрагиваются. Никаких доказательств того, что этот эксплойт использовался в дикой природе, обнаружено не было.
Версия yt-dlp 2026.02.21 устраняет эту проблему, проверяя все «машинные» значения netrc и выдавая ошибку при неожиданном вводе. В качестве обходного пути пользователям, которые не могут выполнить обновление, следует избегать использования параметра командной строки --netrc-cmd` (или параметра Python API `netrc_cmd`) или, по крайней мере, не передавать заполнитель (`{}`) в аргументе `--netrc-cmd`.
Показать оригинальное описание (EN)
yt-dlp is a command-line audio/video downloader. Starting in version 2023.06.21 and prior to version 2026.02.21, when yt-dlp's `--netrc-cmd` command-line option (or `netrc_cmd` Python API parameter) is used, an attacker could achieve arbitrary command injection on the user's system with a maliciously crafted URL. yt-dlp maintainers assume the impact of this vulnerability to be high for anyone who uses `--netrc-cmd` in their command/configuration or `netrc_cmd` in their Python scripts. Even though the maliciously crafted URL itself will look very suspicious to many users, it would be trivial for a maliciously crafted webpage with an inconspicuous URL to covertly exploit this vulnerability via HTTP redirect. Users without `--netrc-cmd` in their arguments or `netrc_cmd` in their scripts are unaffected. No evidence has been found of this exploit being used in the wild. yt-dlp version 2026.02.21 fixes this issue by validating all netrc "machine" values and raising an error upon unexpected input. As a workaround, users who are unable to upgrade should avoid using the `--netrc-cmd` command-line option (or `netrc_cmd` Python API parameter), or they should at least not pass a placeholder (`{}`) in their `--netrc-cmd` argument.
Характеристики атаки
Последствия
Строка CVSS v3.1