
Proof-of-Concept, das eine beliebige Befehlsinjektion über die Option `--netrc-cmd` von yt-dlp demonstriert und Shell-Metazeichen in URLs ausnutzt, um Befehle auf betroffenen Versionen auszuführen.
--netrc-cmd in yt-dlpSchweregrad: Hoch (CVSS 8.8)
Betroffene Software: yt-dlp >= 2023.06.21, < 2026.02.21
Behoben in: 2026.02.21
Advisory: GHSA-g3gw-q23r-pgqm
CVE: CVE-2026-26331
Die Befehlszeilenoption --netrc-cmd von yt-dlp (bzw. der Python-API-Parameter netrc_cmd) kann in Kombination mit einer bösartig gestalteten URL missbraucht werden, um beliebige Befehle auszuführen. Dadurch kann ein Angreifer beliebige Shell-Befehle auf dem System des Benutzers ausführen.
Die Option --netrc-cmd ermöglicht es Benutzern, einen Shell-Befehl auszuführen, um Anmeldedaten dynamisch abzurufen, wobei optional ein Platzhalter durch den netrc-„machine“-Wert ersetzt wird. Einige Extractor (z. B. , , ) erlauben Wildcard-Hostnamen, die Shell-spezielle Zeichen enthalten können. Da yt-dlp mit ausführt, kann eine bösartige URL beliebige Befehle injizieren.
{}GetCourseRuIETeachableIETeachableCourseIE--netrc-cmdsubprocess.Popen(shell=True)yt-dlp --netrc-cmd "echo {}" "https://;touch /tmp/pwned;#.getcourse.ru/video"
--netrc-cmd oder netrc_cmd.{}) an --netrc-cmd.