Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [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