42 Commits

Author SHA256 Message Date
Jonathan Kang
4577d2a47b several CVE fixes 2025-10-14 11:00:23 +08:00
e3bda6d144 Fixup Version line 2025-10-07 16:06:13 +02:00
5a8c29c429 Update to version 7.1.2
Co-authored-by: Bjørn Lie <bjorn.lie@gmail.com>
Co-committed-by: Bjørn Lie <bjorn.lie@gmail.com>
2025-10-07 16:04:01 +02:00
89aa33ff4f Reword work-around-abi-break.patch 2025-07-23 15:33:52 +02:00
b2122e4c37 Bump changelog date for vvenc addition 2025-07-23 15:29:16 +02:00
500bdcfaa8 Merge 'Add vvenc build conditional' (#20)
Reviewed-on: jengelh/ffmpeg-7#20
2025-07-23 15:28:08 +02:00
Hans-Peter Jansen
70af22cdf4 Add vvenc build conditional 2025-07-23 10:31:12 +02:00
Jonathan Kang
abbd0684ea Add ffmpeg-CVE-2025-7700.patch 2025-07-23 15:17:30 +08:00
0c40ed06d0 Use more pkgconfig() symbols for BuildRequires 2025-06-25 12:15:36 +02:00
Yifan J
efa133d10d Build with noopenh264, drop ffmpeg-dlopen-openh264.patch 2025-06-25 16:55:31 +08:00
2c113ed6f6 Enable libiec61883 integration 2025-06-12 19:53:15 +02:00
52f95e9110 Update changelog to add CVE fix entry for CVE-2024-36618 CVE-2024-36617 CVE-2024-36616 CVE-2024-36619 CVE-2024-36615 2025-05-28 19:52:56 +08:00
7ec55b5f78 Reorder user-facing changelog to be in sequence
References: https://bugzilla.opensuse.org/1242310
2025-05-06 03:05:17 +02:00
a150aa6c2e Add bugID recored in n7.1.1 log. With this, maintiance team will allow to submit Factory source to SLE. Avoid bug fix lost. Also fix some old grammar typos. 2025-04-16 13:49:58 +08:00
f281b98b9b Revert "Build with OpenVINO support in libavfilter"
This reverts commit ce60e9ed66.

Too many build-time dependencies.
2025-04-04 11:34:44 +02:00
5f822c5560 Bump mini's version 2025-04-02 02:07:52 +02:00
10630669eb ffmpeg 7.1.1 2025-04-02 02:06:23 +02:00
a40564ee7c Fix BcntSync handling 2025-03-27 11:18:53 +01:00
09f8124ff4 Disable openvino on 32-bit 2025-03-26 21:25:23 +01:00
b1d5de540b Merge 'refs/pull/13/head' 2025-03-25 22:11:38 +01:00
10be3a7196 Add ffmpeg-7-CVE-2025-1816.patch: Backporting 0526535c from upstream, add missing constrains for num_parameters in audio_element_oub(). (CVE-2025-1816, bsc#1238728) and add some lost CVE bugID into the changelog. 2025-03-24 14:32:47 +08:00
ce60e9ed66 Build with OpenVINO support in libavfilter 2025-03-24 00:25:11 +01:00
d27a94528c Add 0001-avcodec-libsvtav1-unbreak-build-with-latest-svtav1.patch 2025-03-05 10:46:17 +01:00
40e49d492e Add security fix record on the update history. (CVE-2024-35368, bsc#1234028) 2025-03-01 20:13:07 +08:00
fba0c8d5ae Add BcntSyncTag directive 2025-02-24 14:06:39 +01:00
90e1a4148e Add 4 patches for 8 CVEs
* CVE-2024-12361
* CVE-2024-35365
* CVE-2024-36613
* CVE-2025-0518
* CVE-2025-22919
* CVE-2025-22920
* CVE-2025-22921
* CVE-2025-25473
2025-02-23 21:23:54 +01:00
32cbe46280 Adjust bconds to build the package in SLFO without xvidcore. 2024-10-15 11:02:13 +02:00
d30cb95aec ffmpeg 7.1 2024-10-02 10:32:42 +02:00
Olaf Hering
e2cfa392ea avcodec/decode: clean-up if get_hw_frames_parameters fails (ffmpeg#11013, vlc#28811)
Signed-off-by: Olaf Hering <olaf@aepfle.de>
2024-09-30 12:34:56 +00:00
Stefan Dirsch
47633c77ba no longer build against libmfx; build also 15.5 against libvpl 2024-09-26 12:23:18 +02:00
baf5b4d954 Add use 64bit for input size check log entry for n7.0.2's update, to record security fix position. (CVE-2024-7055, bsc#1229026) 2024-09-18 10:05:51 +02:00
f803df26e3 Add 0001-libavcodec-arm-mlpdsp_armv5te-fix-label-format-to-wo.patch (armv7 build fix) 2024-08-21 12:12:29 +02:00
62e69514f7 Delete unreferenced patches 2024-08-10 10:05:05 +02:00
c18297e308 Copy first preamble to second preamble 2024-08-10 00:56:47 +02:00
ab72df490f Delete unreferenced patches 2024-08-08 19:27:36 +02:00
c33511409d Update to release-7.0.2, Drop patches merged by the update. 2024-08-08 18:09:14 +08:00
8c17f41823 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. 2024-08-05 16:57:32 +08:00
c11c165366 Merge branch 'refs/pull/2/head' 2024-08-01 05:24:57 +02:00
d213111022 Correct a bug numbers typo. 2024-08-01 10:51:46 +08:00
99ea9689b9 restore deleted metadata 2024-07-27 08:45:16 +02:00
cfe0711bad Add ffmpeg-7-CVE-2024-32228.patch, ffmpeg-7-CVE-2024-32229.patch, ffmpeg-7-CVE-2024-32230.patch to fix CVE issues. 2024-07-25 18:17:40 +08:00
5866842008 Synchronize with OBS 2024-07-09 16:02:33 +02:00
6 changed files with 233 additions and 1 deletions

View File

@@ -312,7 +312,6 @@ 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,6 +122,10 @@ 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

@@ -0,0 +1,59 @@
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

@@ -0,0 +1,79 @@
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

@@ -0,0 +1,52 @@
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

@@ -0,0 +1,39 @@
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