summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/CVE-2025-47806.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/CVE-2025-47806.patch')
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/CVE-2025-47806.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/CVE-2025-47806.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/CVE-2025-47806.patch
new file mode 100644
index 0000000000..530d579231
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/CVE-2025-47806.patch
@@ -0,0 +1,50 @@
1From da4380c4df0e00f8d0bad569927bfc7ea35ec37d Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
3Date: Thu, 8 May 2025 12:46:40 +0300
4Subject: [PATCH] subparse: Make sure that subrip time string is not too long
5 before zero-padding
6
7Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4419
8Fixes CVE-2025-47806
9
10Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9135>
11
12CVE: CVE-2025-47806
13Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/da4380c4df0e00f8d0bad569927bfc7ea35ec37d]
14Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
15---
16 gst/subparse/gstsubparse.c | 11 ++++++++++-
17 1 file changed, 10 insertions(+), 1 deletion(-)
18
19diff --git a/gst/subparse/gstsubparse.c b/gst/subparse/gstsubparse.c
20index 1d8fa51..81a7f65 100644
21--- a/gst/subparse/gstsubparse.c
22+++ b/gst/subparse/gstsubparse.c
23@@ -850,7 +850,7 @@ parse_subrip_time (const gchar * ts_string, GstClockTime * t)
24 g_strdelimit (s, " ", '0');
25 g_strdelimit (s, ".", ',');
26
27- /* make sure we have exactly three digits after he comma */
28+ /* make sure we have exactly three digits after the comma */
29 p = strchr (s, ',');
30 if (p == NULL) {
31 /* If there isn't a ',' the timestamp is broken */
32@@ -859,6 +859,15 @@ parse_subrip_time (const gchar * ts_string, GstClockTime * t)
33 return FALSE;
34 }
35
36+ /* Check if the comma is too far into the string to avoid
37+ * stack overflow when zero-padding the sub-second part.
38+ *
39+ * Allow for 3 digits of hours just in case. */
40+ if ((p - s) > sizeof ("hhh:mm:ss,")) {
41+ GST_WARNING ("failed to parse subrip timestamp string '%s'", s);
42+ return FALSE;
43+ }
44+
45 ++p;
46 len = strlen (p);
47 if (len > 3) {
48--
492.50.1
50