1
0
forked from jengelh/ffmpeg-7

32 Commits

Author SHA256 Message Date
97a437dd40 Update the changelog to record security bug fixes (CVE-2023-6601, bsc#1220545) 2026-01-12 00:43:54 +08:00
Jonathan Kang
88298922b7 Update to version 7.1.2
Update to version 7.1.2 that includes fixes for the following CVE
bugs: bsc#1251137, bsc#1251151, bsc#1251155 and bsc#1251157.
2025-10-17 11:33:10 +08:00
cdf181d540 Sync changes to SLFO-1.2 branch 2025-08-20 09:14:57 +02:00
058f4b41f8 Accepting request 1248138 from multimedia:libs
OBS-URL: https://build.opensuse.org/request/show/1248138
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ffmpeg-7?expand=0&rev=10
2025-02-25 15:39:52 +00:00
OBS User unknown
5915c22dcc [info=fba0c8d5aee6456fbfe57c31817aaff4ce7ba3d31509ca778be2c36ad4b1dff5]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=23
2025-02-24 13:06:59 +00:00
OBS User unknown
0d5a257491 [info=90e1a4148e7a201c3ea960bc4e9e8b0c2e6a27b10f90b19068a0b0fd817dfc5b]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=22
2025-02-23 20:24:16 +00:00
a7d186aed2 Accepting request 1208093 from multimedia:libs
- Adjust bconds to build the package in SLFO without xvidcore.

OBS-URL: https://build.opensuse.org/request/show/1208093
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ffmpeg-7?expand=0&rev=9
2024-10-16 21:36:19 +00:00
OBS User unknown
9359870d00 [info=32cbe46280190beb53660e8ea40da248a198ba6eb095ea8a9dc9caccc4963886]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=21
2024-10-15 10:05:04 +00:00
451472ac1b Accepting request 1205169 from multimedia:libs
- Update to release 7.1

OBS-URL: https://build.opensuse.org/request/show/1205169
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ffmpeg-7?expand=0&rev=8
2024-10-04 15:08:22 +00:00
OBS User unknown
4fdf25905f [info=d30cb95aec905435c6cc64ad770f21ca719b717f1b53b756c92f9da2c7e8b4de]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=20
2024-10-02 08:32:53 +00:00
OBS User unknown
0973994793 [info=0c9616089071a8dced9fb42ea41bb32eaec1a8ee43f61e520bc172619d27fbb1]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=19
2024-10-02 08:26:14 +00:00
OBS User unknown
33b0312119 [info=e2cfa392ea5ec5c8759e17515fb74d51aa2b02f06ee8727322a04a4a623387f5]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=18
2024-10-01 10:50:51 +00:00
OBS User unknown
b4e814daa8 [info=baf5b4d95469634449521f7aa2b6937ad73458dc9e02f8350a818e586f36a5ed]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=17
2024-09-18 08:08:14 +00:00
44e58ba163 Accepting request 1195053 from multimedia:libs
- Add 0001-libavcodec-arm-mlpdsp_armv5te-fix-label-format-to-wo.patch
  to resolve build failure on armv7 [boo#1229338]

OBS-URL: https://build.opensuse.org/request/show/1195053
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ffmpeg-7?expand=0&rev=7
2024-08-22 16:10:27 +00:00
OBS User unknown
ff2a908032 [info=f803df26e37180e4cb16e1e5c0a357b23d53b87108ed61cd85ebf6b6e6fb130d]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=16
2024-08-21 10:08:05 +00:00
6cdd476369 Accepting request 1193125 from multimedia:libs
- Update to version 7.0.2:

OBS-URL: https://build.opensuse.org/request/show/1193125
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ffmpeg-7?expand=0&rev=6
2024-08-12 10:31:00 +00:00
OBS User unknown
9e7b4eb1dc [info=62e69514f7630d78d61eaba08f38722630b84b1cd4a21f572e09cb0b26d8249d]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=15
2024-08-10 08:05:40 +00:00
OBS User unknown
702836018c [info=c18297e308645d07cd752581c87e8ce7a6505bf32f0aa8ae39866670926cbbdd]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=14
2024-08-09 23:09:18 +00:00
OBS User unknown
8873641387 [info=ab72df490fb43933b2b76ceba94ffc7443f90be22155de46d0025c79a3ca7554]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=13
2024-08-08 17:24:46 +00:00
OBS User unknown
d2fc79c049 [info=c33511409da6284329adc96eef590fa4e2c9d4c7104673bb8ea91d33cac77d01]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=12
2024-08-08 16:24:53 +00:00
8cbc397a59 Accepting request 1191766 from multimedia:libs
- Add ffmpeg-7-fix-crashes.patch:
  Backporting 5b87869c from upstream, fix track handling when mixing
  IAMF and video tracks, Fixes crashes when muxing the two together.

OBS-URL: https://build.opensuse.org/request/show/1191766
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ffmpeg-7?expand=0&rev=5
2024-08-06 07:08:13 +00:00
OBS User unknown
f123e2a485 [info=8c17f41823d4600460b89dd35ff0365d154e30b5ae64f6d51ca6e5862223987c]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=11
2024-08-05 10:26:50 +00:00
ff88b22e6b Accepting request 1190843 from multimedia:libs
forwarded submit from qzhao; fix spellos in bug numbers

OBS-URL: https://build.opensuse.org/request/show/1190843
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ffmpeg-7?expand=0&rev=4
2024-08-01 20:05:08 +00:00
OBS User unknown
fac57fe4a0 [info=c11c165366f5efd4f76b39c067ee40963b935711f86e1d14fd08ef565763b0fc]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=10
2024-08-01 03:21:30 +00:00
f66ec2e89b Accepting request 1189880 from multimedia:libs
ffmpeg CVE patches

OBS-URL: https://build.opensuse.org/request/show/1189880
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ffmpeg-7?expand=0&rev=3
2024-07-28 15:19:40 +00:00
OBS User unknown
14763875da [info=99ea9689b9928285bdc91473b710e322c6674d77460c31063bc7209002dfa7e3]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=9
2024-07-27 06:41:26 +00:00
OBS User unknown
e437d3969c [info=fbe5e55a657c3ed2f9397d73c6a2952eabab5b3d5085e526c709a573f6ec97b9]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=8
2024-07-27 06:40:25 +00:00
OBS User unknown
e0891e621b [info=cfe0711badaae4cfbccf67b46e8058d05336b845a8a44479fa7ac89ed55deea3]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=7
2024-07-27 06:38:38 +00:00
b9d6f48455 [info=5866842008640d8587d2a2505eedfe03f21398112f825fb2986c6286a098bf00]
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=6
2024-07-09 14:03:20 +00:00
64b2585ab8 Accepting request 1185067 from multimedia:libs
- Add ffmpeg-7-CVE-2024-32230.patch:
  Backporting 96449cfe from upstream, Fix 1 line and one column images.
  (CVE-2024-32230 bsc#1227296)

- Add ffmpeg-7-CVE-2024-32228.patch:
  Backporting 45964876 from upstream, Fix segfault on invalid film
  grain metadata.
  (CVE-2024-32228, bsc#1227277)

OBS-URL: https://build.opensuse.org/request/show/1185067
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ffmpeg-7?expand=0&rev=2
2024-07-04 14:24:10 +00:00
8ec2a2c630 Replace duplicate metadata; use form from git-format-patch
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=4
2024-07-03 07:45:28 +00:00
1a19def9cd Add ffmpeg-7-CVE-2024-32228.patch ffmpeg-7-CVE-2024-32230.patch to fix CVE bugs. (CVE-2024-32228, bsc#1227277, CVE-2024-32230, bsc#1227296)
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-7?expand=0&rev=3
2024-07-03 07:39:13 +00:00
6 changed files with 1 additions and 233 deletions

View File

@@ -312,6 +312,7 @@ Mon Jan 15 11:11:08 UTC 2024 - Enrico Belleri <kilgore.trout@idesmi.eu>
* VAAPI AV1 encoder
* ffprobe XML output schema changed to account for multiple variable-fields elements within the same parent element
* ffprobe -output_format option added as an alias of -of
* avformat/hls: remove non standard hls extension. (CVE-2023-6601, bsc#1220545)
- Remove patch6 0001-avfilter-vf_libplacebo-remove-deprecated-field.diff
- Prefer libvpl to libmfx: the latter is deprecated
- Delete ffmpeg-6-private-devel package as it is only needed to build libav-tools

View File

@@ -122,10 +122,6 @@ Patch10: ffmpeg-chromium.patch
Patch15: 11013-avcodec-decode-clean-up-if-get_hw_frames_parameters-.patch
Patch18: ffmpeg-7-CVE-2025-25473.patch
Patch19: ffmpeg-7-CVE-2025-22921.patch
Patch20: ffmpeg-CVE-2025-59728.patch
Patch21: ffmpeg-CVE-2025-59731.patch
Patch22: ffmpeg-CVE-2025-59732.patch
Patch23: ffmpeg-CVE-2025-59733.patch
BuildRequires: ladspa-devel
BuildRequires: libgsm-devel
BuildRequires: nasm

View File

@@ -1,59 +0,0 @@
From ce0a655f85c1144d19a4acad59afbb92e4997e30 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michael@niedermayer.cc>
Date: Mon, 28 Jul 2025 23:41:56 +0200
Subject: [PATCH] avformat/dashdec: Allocate space for appended "/"
Fixes: writing 1 byte over the end of the array
Fixes: BIGSLEEP-433502298/test.xml
Found-by: Google Big Sleep
A prettier solution is welcome!
A testcase exists only for the baseurl case
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
libavformat/dashdec.c | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/libavformat/dashdec.c b/libavformat/dashdec.c
index c3f3d7f3f8..278c70315d 100644
--- a/libavformat/dashdec.c
+++ b/libavformat/dashdec.c
@@ -735,7 +735,7 @@ static int resolve_content_path(AVFormatContext *s, const char *url, int *max_ur
}
tmp_max_url_size = aligned(tmp_max_url_size);
- text = av_mallocz(tmp_max_url_size);
+ text = av_mallocz(tmp_max_url_size + 1);
if (!text) {
updated = AVERROR(ENOMEM);
goto end;
@@ -747,7 +747,7 @@ static int resolve_content_path(AVFormatContext *s, const char *url, int *max_ur
}
av_free(text);
- path = av_mallocz(tmp_max_url_size);
+ path = av_mallocz(tmp_max_url_size + 2);
tmp_str = av_mallocz(tmp_max_url_size);
if (!tmp_str || !path) {
updated = AVERROR(ENOMEM);
@@ -769,6 +769,15 @@ static int resolve_content_path(AVFormatContext *s, const char *url, int *max_ur
node = baseurl_nodes[rootId];
baseurl = xmlNodeGetContent(node);
+ if (baseurl) {
+ size_t len = xmlStrlen(baseurl)+2;
+ char *tmp = xmlRealloc(baseurl, len);
+ if (!tmp) {
+ updated = AVERROR(ENOMEM);
+ goto end;
+ }
+ baseurl = tmp;
+ }
root_url = (av_strcasecmp(baseurl, "")) ? baseurl : path;
if (node) {
xmlNodeSetContent(node, root_url);
--
2.51.0

View File

@@ -1,79 +0,0 @@
From 0d9c003d76383e82b57b6d5aa33776709d0cda2c Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michael@niedermayer.cc>
Date: Wed, 6 Aug 2025 10:08:14 +0200
Subject: [PATCH] avcodec/exr: Check rle_raw_data and surroundings
Fixes: out of array read
Fixes: BIGSLEEP-436510153/dwa_uncompress_read.exr
Found-by: Google Big Sleep
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
libavcodec/exr.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/libavcodec/exr.c b/libavcodec/exr.c
index 0a6aab662e..504fea0aac 100644
--- a/libavcodec/exr.c
+++ b/libavcodec/exr.c
@@ -996,6 +996,7 @@ static int dwa_uncompress(const EXRContext *s, const uint8_t *src, int compresse
const int dc_h = td->ysize >> 3;
GetByteContext gb, agb;
int skip, ret;
+ int have_rle = 0;
if (compressed_size <= 88)
return AVERROR_INVALIDDATA;
@@ -1020,6 +1021,11 @@ static int dwa_uncompress(const EXRContext *s, const uint8_t *src, int compresse
)
return AVERROR_INVALIDDATA;
+ if ((uint64_t)rle_raw_size > INT_MAX) {
+ avpriv_request_sample(s->avctx, "Too big rle_raw_size");
+ return AVERROR_INVALIDDATA;
+ }
+
bytestream2_init(&gb, src + 88, compressed_size - 88);
skip = bytestream2_get_le16(&gb);
if (skip < 2)
@@ -1090,6 +1096,9 @@ static int dwa_uncompress(const EXRContext *s, const uint8_t *src, int compresse
if (rle_raw_size > 0 && rle_csize > 0 && rle_usize > 0) {
unsigned long dest_len = rle_usize;
+ if (2LL * td->xsize * td->ysize > rle_raw_size)
+ return AVERROR_INVALIDDATA;
+
av_fast_padded_malloc(&td->rle_data, &td->rle_size, rle_usize);
if (!td->rle_data)
return AVERROR(ENOMEM);
@@ -1106,6 +1115,8 @@ static int dwa_uncompress(const EXRContext *s, const uint8_t *src, int compresse
if (ret < 0)
return ret;
bytestream2_skip(&gb, rle_csize);
+
+ have_rle = 1;
}
bytestream2_init(&agb, td->ac_data, ac_count * 2);
@@ -1187,7 +1198,7 @@ static int dwa_uncompress(const EXRContext *s, const uint8_t *src, int compresse
return 0;
if (s->pixel_type == EXR_HALF) {
- for (int y = 0; y < td->ysize && td->rle_raw_data; y++) {
+ for (int y = 0; y < td->ysize && have_rle; y++) {
uint16_t *ao = ((uint16_t *)td->uncompressed_data) + y * td->xsize * s->nb_channels;
uint8_t *ai0 = td->rle_raw_data + y * td->xsize;
uint8_t *ai1 = td->rle_raw_data + y * td->xsize + rle_raw_size / 2;
@@ -1196,7 +1207,7 @@ static int dwa_uncompress(const EXRContext *s, const uint8_t *src, int compresse
ao[x] = ai0[x] | (ai1[x] << 8);
}
} else {
- for (int y = 0; y < td->ysize && td->rle_raw_data; y++) {
+ for (int y = 0; y < td->ysize && have_rle; y++) {
uint32_t *ao = ((uint32_t *)td->uncompressed_data) + y * td->xsize * s->nb_channels;
uint8_t *ai0 = td->rle_raw_data + y * td->xsize;
uint8_t *ai1 = td->rle_raw_data + y * td->xsize + rle_raw_size / 2;
--
2.51.0

View File

@@ -1,52 +0,0 @@
From f45da79b2c336c5f8f3e563d72b8a22fecdcde0c Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michael@niedermayer.cc>
Date: Wed, 6 Aug 2025 10:35:15 +0200
Subject: [PATCH] avcodec/exr: Dont access outside xsize/ysize
Fixes: out of array access
Fixes: BIGSLEEP-436510316/dwa_uncompress_write.exr
Found-by: Google Big Sleep
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
libavcodec/exr.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/libavcodec/exr.c b/libavcodec/exr.c
index 504fea0aac..dea612a42b 100644
--- a/libavcodec/exr.c
+++ b/libavcodec/exr.c
@@ -1127,6 +1127,8 @@ static int dwa_uncompress(const EXRContext *s, const uint8_t *src, int compresse
float *yb = td->block[0];
float *ub = td->block[1];
float *vb = td->block[2];
+ int bw = FFMIN(8, td->xsize - x);
+ int bh = FFMIN(8, td->ysize - y);
memset(td->block, 0, sizeof(td->block));
@@ -1151,8 +1153,8 @@ static int dwa_uncompress(const EXRContext *s, const uint8_t *src, int compresse
uint16_t *ro = ((uint16_t *)td->uncompressed_data) +
y * td->xsize * s->nb_channels + td->xsize * (o + 2) + x;
- for (int yy = 0; yy < 8; yy++) {
- for (int xx = 0; xx < 8; xx++) {
+ for (int yy = 0; yy < bh; yy++) {
+ for (int xx = 0; xx < bw; xx++) {
const int idx = xx + yy * 8;
float b, g, r;
@@ -1175,8 +1177,8 @@ static int dwa_uncompress(const EXRContext *s, const uint8_t *src, int compresse
float *ro = ((float *)td->uncompressed_data) +
y * td->xsize * s->nb_channels + td->xsize * (o + 2) + x;
- for (int yy = 0; yy < 8; yy++) {
- for (int xx = 0; xx < 8; xx++) {
+ for (int yy = 0; yy < bh; yy++) {
+ for (int xx = 0; xx < bw; xx++) {
const int idx = xx + yy * 8;
convert(yb[idx], ub[idx], vb[idx], &bo[xx], &go[xx], &ro[xx]);
--
2.51.0

View File

@@ -1,39 +0,0 @@
From 0469d68acb52081ca8385b844b9650398242be0f Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michael@niedermayer.cc>
Date: Sat, 9 Aug 2025 14:05:19 +0200
Subject: [PATCH] avcodec/exr: Check for pixel type consistency in DWA
Fixes: out of array access
Fixes: BIGSLEEP-436511754/testcase.exr
Found-by: Google Big Sleep
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
libavcodec/exr.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/libavcodec/exr.c b/libavcodec/exr.c
index dea612a42b..67f971ff35 100644
--- a/libavcodec/exr.c
+++ b/libavcodec/exr.c
@@ -2086,6 +2086,17 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *picture,
if ((ret = decode_header(s, picture)) < 0)
return ret;
+ if (s->compression == EXR_DWAA ||
+ s->compression == EXR_DWAB) {
+ for (int i = 0; i<s->nb_channels; i++) {
+ EXRChannel *channel = &s->channels[i];
+ if (channel->pixel_type != s->pixel_type) {
+ avpriv_request_sample(s->avctx, "mixed pixel type DWA");
+ return AVERROR_PATCHWELCOME;
+ }
+ }
+ }
+
switch (s->pixel_type) {
case EXR_HALF:
if (s->channel_offsets[3] >= 0) {
--
2.51.0