-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Protocol whitelist in ytdl_hook #5456
Comments
CVE-2018-6360 has been assigned to this issue |
I don't think 2a0f9fc is actually relevant to this CVE at all. The "whitelist" it mentions appears to be related to selecting a media stream from a manifest, and has no security whitelisting implications whatsoever. |
It's a bugfix to 7eb3427, yes, so not related to this issue. |
Upstream has fixed this in a series of commits ontop of 0.28.0. Debian has backported the fixes to 0.27.0. Upstream issue: mpv-player/mpv#5456 Debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=888654#8
Upstream has fixed this in a series of commits ontop of 0.28.0. Debian has backported the fixes to 0.27.0. Upstream issue: mpv-player/mpv#5456 Debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=888654#8 (cherry picked from commit 95f4d6b)
I'll let @wiiaboo give the final word, but it looks like that commit just adds a property. It provides information about which demuxers are available. It is not used in the subsequent white-listing commits which fix the actual problem. |
Yeah, nevermind. Being able to use the native dash demuxer is not necessary for the security fixes. |
FYI I screwed up the fix I applied to Debian's 0.27 and 0.23 and broke YouTube playlists so don't take the patch from there just yet. Hopefully it will be fixed within a day or so. |
This was overlooked when doing the whitelisting for video and audio to fix #5456.
This was overlooked when doing the whitelisting for video and audio to fix mpv-player#5456.
This was overlooked when doing the whitelisting for video and audio to fix mpv-player#5456.
The recent commits e6e6b0d, f8263e8 and ce42a96 fix and issue whereby mpv could be convinced to play a "non-safe" URL from a remote source.
Reproduction steps
An attacker convinces has the victim play an HTTP(S) URL.
The URL gets processed by the ytdl_hook script.
youtube-dl attempts to extract videos from the URL by contacting the HTTP server, which
responds with something like (text/html mime typed) :
As youtube-dl does not perform any validation on the extracted URLs for
<video>
tags, theav://lavfi
URL gets passed back to the hook script.Note that there are likely many ways in which youtube-dl can return "bad" URLs.
The hook script then passes the extracted URL to mpv, which does not apply the usual safe-protocol only checks.
As shown in the example above, this URL can be, for instance, used to dlopen() arbitrary files on the filesystem using the ffmpeg lavfi ladspa plugin.
The text was updated successfully, but these errors were encountered: