File gstreamer-plugins-bad-CVE-2023-44429.patch of Package gstreamer-plugins-bad.31890
commit 1db83d3f745332cbda6adf954b2c53a10caa205e (HEAD -> 01_1db83d3f)
Author: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Date: Wed Oct 4 11:14:38 2023 +0200
codecparsers: av1: Clip max tile rows and cols values
Clip tile rows and cols to 64 as describe in AV1 specification.
Fixes ZDI-CAN-22226 / CVE-2023-44429
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3015
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5634>
diff -Nura gst-plugins-bad-1.20.1/gst-libs/gst/codecparsers/gstav1parser.c gst-plugins-bad-1.20.1_new/gst-libs/gst/codecparsers/gstav1parser.c
--- gst-plugins-bad-1.20.1/gst-libs/gst/codecparsers/gstav1parser.c 2022-03-14 19:33:40.000000000 +0800
+++ gst-plugins-bad-1.20.1_new/gst-libs/gst/codecparsers/gstav1parser.c 2023-12-08 20:38:28.685038159 +0800
@@ -2219,6 +2219,8 @@
((parser->state.mi_cols + 31) >> 5) : ((parser->state.mi_cols + 15) >> 4);
sb_rows = seq_header->use_128x128_superblock ? ((parser->state.mi_rows +
31) >> 5) : ((parser->state.mi_rows + 15) >> 4);
+ sb_cols = MIN (GST_AV1_MAX_TILE_COLS, sb_cols);
+ sb_rows = MIN (GST_AV1_MAX_TILE_ROWS, sb_rows);
sb_shift = seq_header->use_128x128_superblock ? 5 : 4;
sb_size = sb_shift + 2;
max_tile_width_sb = GST_AV1_MAX_TILE_WIDTH >> sb_size;