You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
avformat/dashdec: Check whitelist
Fixes: CVE-2023-6602, V. DASH Playlist SSRF Found-by: Harvey Phillips of Amazon Element55 (element55) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
@@ -446,7 +446,7 @@ static int open_url(AVFormatContext *s, AVIOContext **pb, const char *url,
|
|||||||
av_freep(pb);
|
av_freep(pb);
|
||||||
av_dict_copy(&tmp, *opts, 0);
|
av_dict_copy(&tmp, *opts, 0);
|
||||||
av_dict_copy(&tmp, opts2, 0);
|
av_dict_copy(&tmp, opts2, 0);
|
||||||
ret = avio_open2(pb, url, AVIO_FLAG_READ, c->interrupt_callback, &tmp);
|
ret = ffio_open_whitelist(pb, url, AVIO_FLAG_READ, c->interrupt_callback, &tmp, s->protocol_whitelist, s->protocol_blacklist);
|
||||||
if (ret >= 0) {
|
if (ret >= 0) {
|
||||||
// update cookies on http response with setcookies.
|
// update cookies on http response with setcookies.
|
||||||
char *new_cookies = NULL;
|
char *new_cookies = NULL;
|
||||||
@@ -1225,7 +1225,7 @@ static int parse_manifest(AVFormatContext *s, const char *url, AVIOContext *in)
|
|||||||
close_in = 1;
|
close_in = 1;
|
||||||
|
|
||||||
av_dict_copy(&opts, c->avio_opts, 0);
|
av_dict_copy(&opts, c->avio_opts, 0);
|
||||||
ret = avio_open2(&in, url, AVIO_FLAG_READ, c->interrupt_callback, &opts);
|
ret = ffio_open_whitelist(&in, url, AVIO_FLAG_READ, c->interrupt_callback, &opts, s->protocol_whitelist, s->protocol_blacklist);
|
||||||
av_dict_free(&opts);
|
av_dict_free(&opts);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
Reference in New Issue
Block a user