When ALLOW_YTDL_OPTIONS_OVERRIDES is enabled, arbitrary yt-dlp options are accepted and passed directly to yt-dlp without restriction. This allows injection of the Exec postprocessor or exec_cmd option, which executes arbitrary OS commands on the server after a download completes. Add a blocklist of dangerous yt-dlp option keys (exec_cmd, exec, postprocessors, post_hooks, external_downloader, external_downloader_args, cookiefile, cookiesfrombrowser) that are rejected with a 400 error when present in overrides. |
||
|---|---|---|
| .. | ||
| tests | ||
| dl_formats.py | ||
| main.py | ||
| state_store.py | ||
| subscriptions.py | ||
| ytdl.py | ||