* [FFmpeg-devel] [PATCH 1/2] avformat/mov: Check extradata in mov_read_iacb()
@ 2024-07-18 22:16 Michael Niedermayer
2024-07-18 22:16 ` [FFmpeg-devel] [PATCH 2/2] avcodec/pnmdec: Use 64bit for input size check Michael Niedermayer
2024-07-18 22:19 ` [FFmpeg-devel] [PATCH 1/2] avformat/mov: Check extradata in mov_read_iacb() James Almer
0 siblings, 2 replies; 6+ messages in thread
From: Michael Niedermayer @ 2024-07-18 22:16 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Fixes: MemLeak
Fixes: 69853/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-4660448545275904
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
libavformat/mov.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libavformat/mov.c b/libavformat/mov.c
index ce95842ce58..82fce7ef5c1 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -897,6 +897,8 @@ static int mov_read_iacb(MOVContext *c, AVIOContext *pb, MOVAtom atom)
st = c->fc->streams[c->fc->nb_streams - 1];
sc = st->priv_data;
+ if (st->codecpar->extradata)
+ return AVERROR_INVALIDDATA;
sc->iamf = av_mallocz(sizeof(*sc->iamf));
if (!sc->iamf)
--
2.45.2
_______________________________________________
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".
^ permalink raw reply [flat|nested] 6+ messages in thread
* [FFmpeg-devel] [PATCH 2/2] avcodec/pnmdec: Use 64bit for input size check
2024-07-18 22:16 [FFmpeg-devel] [PATCH 1/2] avformat/mov: Check extradata in mov_read_iacb() Michael Niedermayer
@ 2024-07-18 22:16 ` Michael Niedermayer
2024-07-21 12:47 ` Michael Niedermayer
2024-07-18 22:19 ` [FFmpeg-devel] [PATCH 1/2] avformat/mov: Check extradata in mov_read_iacb() James Almer
1 sibling, 1 reply; 6+ messages in thread
From: Michael Niedermayer @ 2024-07-18 22:16 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Fixes: out of array read
Fixes: poc3
Reported-by: VulDB CNA Team
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
libavcodec/pnmdec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/pnmdec.c b/libavcodec/pnmdec.c
index a6945549bd5..59013ada495 100644
--- a/libavcodec/pnmdec.c
+++ b/libavcodec/pnmdec.c
@@ -262,7 +262,7 @@ static int pnm_decode_frame(AVCodecContext *avctx, AVFrame *p,
break;
case AV_PIX_FMT_GBRPF32:
if (!s->half) {
- if (avctx->width * avctx->height * 12 > s->bytestream_end - s->bytestream)
+ if (avctx->width * avctx->height * 12LL > s->bytestream_end - s->bytestream)
return AVERROR_INVALIDDATA;
scale = 1.f / s->scale;
if (s->endian) {
--
2.45.2
_______________________________________________
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".
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/2] avformat/mov: Check extradata in mov_read_iacb()
2024-07-18 22:16 [FFmpeg-devel] [PATCH 1/2] avformat/mov: Check extradata in mov_read_iacb() Michael Niedermayer
2024-07-18 22:16 ` [FFmpeg-devel] [PATCH 2/2] avcodec/pnmdec: Use 64bit for input size check Michael Niedermayer
@ 2024-07-18 22:19 ` James Almer
2024-07-19 8:10 ` Michael Niedermayer
1 sibling, 1 reply; 6+ messages in thread
From: James Almer @ 2024-07-18 22:19 UTC (permalink / raw)
To: ffmpeg-devel
On 7/18/2024 7:16 PM, Michael Niedermayer wrote:
> Fixes: MemLeak
> Fixes: 69853/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-4660448545275904
>
> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
> libavformat/mov.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/libavformat/mov.c b/libavformat/mov.c
> index ce95842ce58..82fce7ef5c1 100644
> --- a/libavformat/mov.c
> +++ b/libavformat/mov.c
> @@ -897,6 +897,8 @@ static int mov_read_iacb(MOVContext *c, AVIOContext *pb, MOVAtom atom)
>
> st = c->fc->streams[c->fc->nb_streams - 1];
> sc = st->priv_data;
> + if (st->codecpar->extradata)
> + return AVERROR_INVALIDDATA;
Maybe it's better to do like other atoms where we ignore duplicate
entries (See mov_read_glbl(), used for h264/hevc/etc).
>
> sc->iamf = av_mallocz(sizeof(*sc->iamf));
> if (!sc->iamf)
_______________________________________________
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".
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/2] avformat/mov: Check extradata in mov_read_iacb()
2024-07-18 22:19 ` [FFmpeg-devel] [PATCH 1/2] avformat/mov: Check extradata in mov_read_iacb() James Almer
@ 2024-07-19 8:10 ` Michael Niedermayer
2024-07-19 23:47 ` James Almer
0 siblings, 1 reply; 6+ messages in thread
From: Michael Niedermayer @ 2024-07-19 8:10 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1.1: Type: text/plain, Size: 1423 bytes --]
On Thu, Jul 18, 2024 at 07:19:17PM -0300, James Almer wrote:
> On 7/18/2024 7:16 PM, Michael Niedermayer wrote:
> > Fixes: MemLeak
> > Fixes: 69853/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-4660448545275904
> >
> > Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> > Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> > ---
> > libavformat/mov.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/libavformat/mov.c b/libavformat/mov.c
> > index ce95842ce58..82fce7ef5c1 100644
> > --- a/libavformat/mov.c
> > +++ b/libavformat/mov.c
> > @@ -897,6 +897,8 @@ static int mov_read_iacb(MOVContext *c, AVIOContext *pb, MOVAtom atom)
> > st = c->fc->streams[c->fc->nb_streams - 1];
> > sc = st->priv_data;
> > + if (st->codecpar->extradata)
> > + return AVERROR_INVALIDDATA;
>
> Maybe it's better to do like other atoms where we ignore duplicate entries
> (See mov_read_glbl(), used for h264/hevc/etc).
IIRC its a mix of mov_read_iacb() and mov_read_stsd() both setting extradata
i can certainly do a "return 0" with some warning if you prefer that
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
"Nothing to hide" only works if the folks in power share the values of
you and everyone you know entirely and always will -- Tom Scott
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
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".
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/2] avformat/mov: Check extradata in mov_read_iacb()
2024-07-19 8:10 ` Michael Niedermayer
@ 2024-07-19 23:47 ` James Almer
0 siblings, 0 replies; 6+ messages in thread
From: James Almer @ 2024-07-19 23:47 UTC (permalink / raw)
To: ffmpeg-devel
On 7/19/2024 5:10 AM, Michael Niedermayer wrote:
> On Thu, Jul 18, 2024 at 07:19:17PM -0300, James Almer wrote:
>> On 7/18/2024 7:16 PM, Michael Niedermayer wrote:
>>> Fixes: MemLeak
>>> Fixes: 69853/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-4660448545275904
>>>
>>> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
>>> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
>>> ---
>>> libavformat/mov.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/libavformat/mov.c b/libavformat/mov.c
>>> index ce95842ce58..82fce7ef5c1 100644
>>> --- a/libavformat/mov.c
>>> +++ b/libavformat/mov.c
>>> @@ -897,6 +897,8 @@ static int mov_read_iacb(MOVContext *c, AVIOContext *pb, MOVAtom atom)
>>> st = c->fc->streams[c->fc->nb_streams - 1];
>>> sc = st->priv_data;
>>> + if (st->codecpar->extradata)
>>> + return AVERROR_INVALIDDATA;
>>
>> Maybe it's better to do like other atoms where we ignore duplicate entries
>> (See mov_read_glbl(), used for h264/hevc/etc).
>
> IIRC its a mix of mov_read_iacb() and mov_read_stsd() both setting extradata
iacb is a child box of stsd. In a sane file only one box will set
extradata, so lets copy the behavior of glbl.
>
> i can certainly do a "return 0" with some warning if you prefer that
Yes.
>
> thx
>
> [...]
>
>
> _______________________________________________
> 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".
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [FFmpeg-devel] [PATCH 2/2] avcodec/pnmdec: Use 64bit for input size check
2024-07-18 22:16 ` [FFmpeg-devel] [PATCH 2/2] avcodec/pnmdec: Use 64bit for input size check Michael Niedermayer
@ 2024-07-21 12:47 ` Michael Niedermayer
0 siblings, 0 replies; 6+ messages in thread
From: Michael Niedermayer @ 2024-07-21 12:47 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1.1: Type: text/plain, Size: 498 bytes --]
On Fri, Jul 19, 2024 at 12:16:06AM +0200, Michael Niedermayer wrote:
> Fixes: out of array read
> Fixes: poc3
>
> Reported-by: VulDB CNA Team
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
> libavcodec/pnmdec.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
will apply
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
The greatest way to live with honor in this world is to be what we pretend
to be. -- Socrates
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
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".
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-07-21 12:48 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-07-18 22:16 [FFmpeg-devel] [PATCH 1/2] avformat/mov: Check extradata in mov_read_iacb() Michael Niedermayer
2024-07-18 22:16 ` [FFmpeg-devel] [PATCH 2/2] avcodec/pnmdec: Use 64bit for input size check Michael Niedermayer
2024-07-21 12:47 ` Michael Niedermayer
2024-07-18 22:19 ` [FFmpeg-devel] [PATCH 1/2] avformat/mov: Check extradata in mov_read_iacb() James Almer
2024-07-19 8:10 ` Michael Niedermayer
2024-07-19 23:47 ` James Almer
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