xidown (a yt-dlp/ffmpeg GUI wrapper) builds its yt-dlp command-line invocation (xidown/core/scanner.py and downloader.py) by appending the user-provided or scanned URL as a bare trailing positional argument, with no '--' end-of-options marker and no scheme validation anywhere in the codebase. Because yt-dlp parses any argument beginning with '-' as a CLI option rather than link text, a crafted 'URL' value such as -U (yt-dlp's self-update flag) or --exec=... is parsed as a real yt-dlp option instead of a URL, altering the tool's control flow before its own URL validation runs. Full code execution via --exec was not demonstrated in the single-URL flow tested, but the underlying argument-injection primitive is confirmed and unmitigated across all call sites.
{
"binaries": [
{
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1",
"binary_name": "libav-tools"
},
{
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1",
"binary_name": "libavcodec-extra"
},
{
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1",
"binary_name": "libavcodec-extra-54"
},
{
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1",
"binary_name": "libavcodec54"
},
{
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1",
"binary_name": "libavdevice-extra-53"
},
{
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1",
"binary_name": "libavdevice53"
},
{
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1",
"binary_name": "libavfilter-extra-3"
},
{
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1",
"binary_name": "libavfilter3"
},
{
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1",
"binary_name": "libavformat-extra-54"
},
{
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1",
"binary_name": "libavformat54"
},
{
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1",
"binary_name": "libavresample1"
},
{
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1",
"binary_name": "libavutil-extra-52"
},
{
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1",
"binary_name": "libavutil52"
},
{
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1",
"binary_name": "libswscale-extra-2"
},
{
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1",
"binary_name": "libswscale2"
}
]
}{
"binaries": [
{
"binary_version": "7:2.8.17-0ubuntu0.1+esm14",
"binary_name": "ffmpeg"
},
{
"binary_version": "7:2.8.17-0ubuntu0.1+esm14",
"binary_name": "libav-tools"
},
{
"binary_version": "7:2.8.17-0ubuntu0.1+esm14",
"binary_name": "libavcodec-extra"
},
{
"binary_version": "7:2.8.17-0ubuntu0.1+esm14",
"binary_name": "libavcodec-ffmpeg-extra56"
},
{
"binary_version": "7:2.8.17-0ubuntu0.1+esm14",
"binary_name": "libavcodec-ffmpeg56"
},
{
"binary_version": "7:2.8.17-0ubuntu0.1+esm14",
"binary_name": "libavdevice-ffmpeg56"
},
{
"binary_version": "7:2.8.17-0ubuntu0.1+esm14",
"binary_name": "libavfilter-ffmpeg5"
},
{
"binary_version": "7:2.8.17-0ubuntu0.1+esm14",
"binary_name": "libavformat-ffmpeg56"
},
{
"binary_version": "7:2.8.17-0ubuntu0.1+esm14",
"binary_name": "libavresample-ffmpeg2"
},
{
"binary_version": "7:2.8.17-0ubuntu0.1+esm14",
"binary_name": "libavutil-ffmpeg54"
},
{
"binary_version": "7:2.8.17-0ubuntu0.1+esm14",
"binary_name": "libpostproc-ffmpeg53"
},
{
"binary_version": "7:2.8.17-0ubuntu0.1+esm14",
"binary_name": "libswresample-ffmpeg1"
},
{
"binary_version": "7:2.8.17-0ubuntu0.1+esm14",
"binary_name": "libswscale-ffmpeg3"
}
]
}{
"binaries": [
{
"binary_version": "7:3.4.11-0ubuntu0.1+esm12",
"binary_name": "ffmpeg"
},
{
"binary_version": "7:3.4.11-0ubuntu0.1+esm12",
"binary_name": "libavcodec-extra"
},
{
"binary_version": "7:3.4.11-0ubuntu0.1+esm12",
"binary_name": "libavcodec-extra57"
},
{
"binary_version": "7:3.4.11-0ubuntu0.1+esm12",
"binary_name": "libavcodec57"
},
{
"binary_version": "7:3.4.11-0ubuntu0.1+esm12",
"binary_name": "libavdevice57"
},
{
"binary_version": "7:3.4.11-0ubuntu0.1+esm12",
"binary_name": "libavfilter-extra"
},
{
"binary_version": "7:3.4.11-0ubuntu0.1+esm12",
"binary_name": "libavfilter-extra6"
},
{
"binary_version": "7:3.4.11-0ubuntu0.1+esm12",
"binary_name": "libavfilter6"
},
{
"binary_version": "7:3.4.11-0ubuntu0.1+esm12",
"binary_name": "libavformat57"
},
{
"binary_version": "7:3.4.11-0ubuntu0.1+esm12",
"binary_name": "libavresample3"
},
{
"binary_version": "7:3.4.11-0ubuntu0.1+esm12",
"binary_name": "libavutil55"
},
{
"binary_version": "7:3.4.11-0ubuntu0.1+esm12",
"binary_name": "libpostproc54"
},
{
"binary_version": "7:3.4.11-0ubuntu0.1+esm12",
"binary_name": "libswresample2"
},
{
"binary_version": "7:3.4.11-0ubuntu0.1+esm12",
"binary_name": "libswscale4"
}
]
}{
"binaries": [
{
"binary_version": "7:4.2.7-0ubuntu0.1+esm13",
"binary_name": "ffmpeg"
},
{
"binary_version": "7:4.2.7-0ubuntu0.1+esm13",
"binary_name": "libavcodec-extra"
},
{
"binary_version": "7:4.2.7-0ubuntu0.1+esm13",
"binary_name": "libavcodec-extra58"
},
{
"binary_version": "7:4.2.7-0ubuntu0.1+esm13",
"binary_name": "libavcodec58"
},
{
"binary_version": "7:4.2.7-0ubuntu0.1+esm13",
"binary_name": "libavdevice58"
},
{
"binary_version": "7:4.2.7-0ubuntu0.1+esm13",
"binary_name": "libavfilter-extra"
},
{
"binary_version": "7:4.2.7-0ubuntu0.1+esm13",
"binary_name": "libavfilter-extra7"
},
{
"binary_version": "7:4.2.7-0ubuntu0.1+esm13",
"binary_name": "libavfilter7"
},
{
"binary_version": "7:4.2.7-0ubuntu0.1+esm13",
"binary_name": "libavformat58"
},
{
"binary_version": "7:4.2.7-0ubuntu0.1+esm13",
"binary_name": "libavresample4"
},
{
"binary_version": "7:4.2.7-0ubuntu0.1+esm13",
"binary_name": "libavutil56"
},
{
"binary_version": "7:4.2.7-0ubuntu0.1+esm13",
"binary_name": "libpostproc55"
},
{
"binary_version": "7:4.2.7-0ubuntu0.1+esm13",
"binary_name": "libswresample3"
},
{
"binary_version": "7:4.2.7-0ubuntu0.1+esm13",
"binary_name": "libswscale5"
}
]
}{
"binaries": [
{
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm12",
"binary_name": "ffmpeg"
},
{
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm12",
"binary_name": "libavcodec-extra"
},
{
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm12",
"binary_name": "libavcodec-extra58"
},
{
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm12",
"binary_name": "libavcodec58"
},
{
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm12",
"binary_name": "libavdevice58"
},
{
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm12",
"binary_name": "libavfilter-extra"
},
{
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm12",
"binary_name": "libavfilter-extra7"
},
{
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm12",
"binary_name": "libavfilter7"
},
{
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm12",
"binary_name": "libavformat-extra"
},
{
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm12",
"binary_name": "libavformat-extra58"
},
{
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm12",
"binary_name": "libavformat58"
},
{
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm12",
"binary_name": "libavutil56"
},
{
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm12",
"binary_name": "libpostproc55"
},
{
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm12",
"binary_name": "libswresample3"
},
{
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm12",
"binary_name": "libswscale5"
}
]
}{
"binaries": [
{
"binary_version": "7:6.1.1-3ubuntu5+esm10",
"binary_name": "ffmpeg"
},
{
"binary_version": "7:6.1.1-3ubuntu5+esm10",
"binary_name": "libavcodec-extra"
},
{
"binary_version": "7:6.1.1-3ubuntu5+esm10",
"binary_name": "libavcodec-extra60"
},
{
"binary_version": "7:6.1.1-3ubuntu5+esm10",
"binary_name": "libavcodec60"
},
{
"binary_version": "7:6.1.1-3ubuntu5+esm10",
"binary_name": "libavdevice60"
},
{
"binary_version": "7:6.1.1-3ubuntu5+esm10",
"binary_name": "libavfilter-extra"
},
{
"binary_version": "7:6.1.1-3ubuntu5+esm10",
"binary_name": "libavfilter-extra9"
},
{
"binary_version": "7:6.1.1-3ubuntu5+esm10",
"binary_name": "libavfilter9"
},
{
"binary_version": "7:6.1.1-3ubuntu5+esm10",
"binary_name": "libavformat-extra"
},
{
"binary_version": "7:6.1.1-3ubuntu5+esm10",
"binary_name": "libavformat-extra60"
},
{
"binary_version": "7:6.1.1-3ubuntu5+esm10",
"binary_name": "libavformat60"
},
{
"binary_version": "7:6.1.1-3ubuntu5+esm10",
"binary_name": "libavutil58"
},
{
"binary_version": "7:6.1.1-3ubuntu5+esm10",
"binary_name": "libpostproc57"
},
{
"binary_version": "7:6.1.1-3ubuntu5+esm10",
"binary_name": "libswresample4"
},
{
"binary_version": "7:6.1.1-3ubuntu5+esm10",
"binary_name": "libswscale7"
}
]
}{
"binaries": [
{
"binary_version": "7:8.0.1-3ubuntu2+esm1",
"binary_name": "ffmpeg"
},
{
"binary_version": "7:8.0.1-3ubuntu2+esm1",
"binary_name": "libavcodec-extra"
},
{
"binary_version": "7:8.0.1-3ubuntu2+esm1",
"binary_name": "libavcodec-extra62"
},
{
"binary_version": "7:8.0.1-3ubuntu2+esm1",
"binary_name": "libavcodec62"
},
{
"binary_version": "7:8.0.1-3ubuntu2+esm1",
"binary_name": "libavdevice62"
},
{
"binary_version": "7:8.0.1-3ubuntu2+esm1",
"binary_name": "libavfilter-extra"
},
{
"binary_version": "7:8.0.1-3ubuntu2+esm1",
"binary_name": "libavfilter-extra11"
},
{
"binary_version": "7:8.0.1-3ubuntu2+esm1",
"binary_name": "libavfilter11"
},
{
"binary_version": "7:8.0.1-3ubuntu2+esm1",
"binary_name": "libavformat-extra"
},
{
"binary_version": "7:8.0.1-3ubuntu2+esm1",
"binary_name": "libavformat-extra62"
},
{
"binary_version": "7:8.0.1-3ubuntu2+esm1",
"binary_name": "libavformat62"
},
{
"binary_version": "7:8.0.1-3ubuntu2+esm1",
"binary_name": "libavutil60"
},
{
"binary_version": "7:8.0.1-3ubuntu2+esm1",
"binary_name": "libswresample6"
},
{
"binary_version": "7:8.0.1-3ubuntu2+esm1",
"binary_name": "libswscale9"
}
]
}