
Proof-of-concept che dimostra l'iniezione arbitraria di comandi tramite l'opzione `--netrc-cmd` di yt-dlp, sfruttando metacaratteri di shell negli URL per eseguire comandi sulle versioni vulnerabili.
--netrc-cmd in yt-dlpGravità: Alta (CVSS 8.8)
Software Interessato: yt-dlp >= 2023.06.21, < 2026.02.21
Corretto in: 2026.02.21
Avviso: GHSA-g3gw-q23r-pgqm
CVE: CVE-2026-26331
L'opzione da riga di comando --netrc-cmd di yt-dlp (o il parametro API Python netrc_cmd) può essere abusata per ottenere l'esecuzione arbitraria di comandi quando combinata con un URL creato ad arte. Ciò consente a un attaccante di eseguire comandi shell arbitrari sul sistema dell'utente.
L'opzione --netrc-cmd consente agli utenti di eseguire un comando shell per recuperare dinamicamente le credenziali di accesso, sostituendo opzionalmente un segnaposto con il valore "machine" del netrc. Alcuni estrattori (ad es. , , ) consentono nomi host con caratteri jolly, che possono contenere caratteri speciali della shell. Poiché yt-dlp esegue utilizzando , un URL dannoso può iniettare comandi arbitrari.
{}GetCourseRuIETeachableIETeachableCourseIE--netrc-cmdsubprocess.Popen(shell=True)yt-dlp --netrc-cmd "echo {}" "https://;touch /tmp/pwned;#.getcourse.ru/video"
--netrc-cmd o netrc_cmd.{}) a --netrc-cmd.