From 5b205225e2c6a19ddcace350fdc18a0edf87bcb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 30 Sep 2024 18:19:30 +0300 Subject: [PATCH] discoverer: Don't print channel layout for more than 64 channels 64+ channels are always unpositioned / unknown layout. Thanks to Antonio Morales for finding and reporting the issue. Fixes GHSL-2024-248 Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3864 Part-of: Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/5b205225e2c6a19ddcace350fdc18a0edf87bcb5] CVE: CVE-2024-47600 Signed-off-by: Vijay Anusuri --- subprojects/gst-plugins-base/tools/gst-discoverer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subprojects/gst-plugins-base/tools/gst-discoverer.c b/subprojects/gst-plugins-base/tools/gst-discoverer.c index b042be535d15..6028fc71c9d0 100644 --- a/tools/gst-discoverer.c +++ b/tools/gst-discoverer.c @@ -222,7 +222,7 @@ format_channel_mask (GstDiscovererAudioInfo * ainfo) channel_mask = gst_discoverer_audio_info_get_channel_mask (ainfo); - if (channel_mask != 0) { + if (channel_mask != 0 && channels <= 64) { gst_audio_channel_positions_from_mask (channels, channel_mask, position); for (i = 0; i < channels; i++) { -- GitLab