[FFmpeg-devel] [PATCH] avformat/mov: sanity check count in IPRP

Michael Niedermayer michael at niedermayer.cc
Tue Jul 23 21:06:37 EEST 2024


On Tue, Jul 16, 2024 at 10:31:54AM -0300, James Almer wrote:
> On 7/16/2024 10:19 AM, Michael Niedermayer wrote:
> > Fixes: Timeout
> > Fixes: 69230/clusterfuzz-testcase-minimized-ffmpeg_IO_DEMUXER_fuzzer-6540512101203968
> > 
> > Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> > Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> > ---
> >   libavformat/mov.c | 5 +++++
> >   1 file changed, 5 insertions(+)
> > 
> > diff --git a/libavformat/mov.c b/libavformat/mov.c
> > index ce95842ce58..9042753d221 100644
> > --- a/libavformat/mov.c
> > +++ b/libavformat/mov.c
> > @@ -8925,6 +8925,11 @@ static int mov_read_iprp(MOVContext *c, AVIOContext *pb, MOVAtom atom)
> >       flags   = avio_rb24(pb);
> >       count   = avio_rb32(pb);
> > +    if (count * 5LL > a.size) {
> > +        ret = AVERROR_INVALIDDATA;
> > +        goto fail;
> > +    }
> 
> a.size is also read from the aviocontext, so i think it'd be better to add
> an avio_feof() check inside the for loop below, after assoc_count is read.

ok will apply with that solution

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Those who would give up essential Liberty, to purchase a little
temporary Safety, deserve neither Liberty nor Safety -- Benjamin Franklin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20240723/2301ac80/attachment.sig>


More information about the ffmpeg-devel mailing list