From: Pierre-Anthony Lemieux <pal@sandflow.com> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH v10 1/2] avformat/imf: Demuxer Date: Wed, 15 Dec 2021 12:41:25 -0800 Message-ID: <CAF_7JxC7uLTL53bn7OA9G7H8brGAmPs-F89o4kz4KOBmMhh4CA@mail.gmail.com> (raw) In-Reply-To: <163959962513.13029.16441945709966296103@lain.red.khirnov.net> On Wed, Dec 15, 2021 at 12:20 PM Anton Khirnov <anton@khirnov.net> wrote: > > Quoting Pierre-Anthony Lemieux (2021-12-15 01:17:26) > > > > > > Now the question is whether a malicious attacker can craft those two > > > files to get access to anything they shouldn't. I suppose at the very > > > least the attacker can get information that the user opened the file (by > > > adding an asset on an attacker's server) but that will be a danger with > > > any playlists allowing network resources and can be controlled with > > > io_open(). Can you think of any other possible issues? > > > > > > > Some security considerations: > > > > - a DDoS can conceivably occur if a malicious CPL+ASSETMAP is widely > > distributed. Both an ASSETMAP and a CPL are required since (a) the CPL > > does not contain paths/hyperlinks and (b) only those resources > > referenced by the CPL are fetched using the ASSETMAP. > > - the CPL uses XML, which has its own security considerations. For > > example, XML parsing can result in entities being fetched over the > > network, but this is disabled by default in libxml AFAIK. > > This is concerning. From a brief glance at libxml2, it seems that you > need to pass XML_PARSE_NONET as the last parameter to xmlReadMemory() to > actually disabling network fetching. > But it is possible I'm misreading the code, so if you or anyone else > understands this better then clarifications are welcome. I was referring to entity expansion and the loading of DTDs being disabled by default -- see XML_PARSE_NOENT and XML_PARSE_DTDLOAD at [1-2]. [1] http://xmlsoft.org/html/libxml-parser.html [2] https://cheatsheetseries.owasp.org/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.html > > > - several elements/attributes of the IMF CPL use URIs as unique > > identifiers. These URIs could conceivably be dereferenced. > > Dereferencing these URIs is however not a requirement and the IMF > > demuxer does not do so. > > - IMF only uses MXF to wrap essence but supports various kinds of > > essence, e.g. Prores and J2K, each with its own security > > considerations > > The demuxer should not be concerned about what the user does with the > returned data. Only the behavior of the demuxer itself (and whatever > code it calls) is the question here. > > -- > Anton Khirnov > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2021-12-15 20:41 UTC|newest] Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <20211213054336.19783-1-pal@sandflow.com> [not found] ` <163947788654.13029.10298345109744593134@lain.red.khirnov.net> [not found] ` <CAF_7JxCxrb0fBNzH_nr=nv8qgHDgMLvAk8WFs7V5dnVfVT_ofA@mail.gmail.com> [not found] ` <163950889025.13443.18056291142265665105@lain.red.khirnov.net> [not found] ` <CAF_7JxCCye8oAdjvqtPY4aUMKmgfY6poa4NtyKw3X-OkCsfRmg@mail.gmail.com> 2021-12-15 20:20 ` Anton Khirnov 2021-12-15 20:41 ` Pierre-Anthony Lemieux [this message] 2021-12-17 14:25 ` Anton Khirnov 2021-12-17 20:54 ` Lynne 2021-12-17 21:09 ` Pierre-Anthony Lemieux 2021-12-20 9:48 ` Anton Khirnov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAF_7JxC7uLTL53bn7OA9G7H8brGAmPs-F89o4kz4KOBmMhh4CA@mail.gmail.com \ --to=pal@sandflow.com \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git