CVE-2024-47543, CVE-2024-47544, CVE-2024-47545, CVE-2024-47546, CVE-2024-47596, CVE-2024-47597, CVE-2024-47598, CVE-2024-47599, CVE-2024-47601, CVE-2024-47602, CVE-2024-47603, CVE-2024-47606, CVE-2024-47613, CVE-2024-47774, CVE-2024-47775, CVE-2024-47776, CVE-2024-47777, CVE-2024-47778, CVE-2024-47834 Resolves: RHEL-70958, RHEL-70971, RHEL-71033, RHEL-71195 Resolves: RHEL-71210, RHEL-71202, RHEL-71171, RHEL-71200 Resolves: RHEL-71206, RHEL-71173, RHEL-71198, RHEL-71204 Resolves: RHEL-71208, RHEL-71031, RHEL-71007, RHEL-71039 Resolves: RHEL-71169, RHEL-71192, RHEL-71161, RHEL-71167 Resolves: RHEL-71189
		
			
				
	
	
		
			34 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 8ade3891c488c40a2b6c17ba59255bcc9bc610d0 Mon Sep 17 00:00:00 2001
 | |
| From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
 | |
| Date: Fri, 27 Sep 2024 00:31:36 +0300
 | |
| Subject: [PATCH 27/28] qtdemux: Add size check for parsing SMI / SEQH atom
 | |
| 
 | |
| Thanks to Antonio Morales for finding and reporting the issue.
 | |
| 
 | |
| Fixes GHSL-2024-244
 | |
| Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3853
 | |
| 
 | |
| Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8060>
 | |
| ---
 | |
|  subprojects/gst-plugins-good/gst/isomp4/qtdemux.c | 3 ++-
 | |
|  1 file changed, 2 insertions(+), 1 deletion(-)
 | |
| 
 | |
| diff --git a/subprojects/gst-plugins-good/gst/isomp4/qtdemux.c b/subprojects/gst-plugins-good/gst/isomp4/qtdemux.c
 | |
| index 72a41ab343..819dee5183 100644
 | |
| --- a/subprojects/gst-plugins-good/gst/isomp4/qtdemux.c
 | |
| +++ b/subprojects/gst-plugins-good/gst/isomp4/qtdemux.c
 | |
| @@ -10628,8 +10628,9 @@ qtdemux_parse_svq3_stsd_data (GstQTDemux * qtdemux,
 | |
|                  GST_WARNING_OBJECT (qtdemux, "Unexpected second SEQH SMI atom "
 | |
|                      " found, ignoring");
 | |
|                } else {
 | |
| +                /* Note: The size does *not* include the fourcc and the size field itself */
 | |
|                  seqh_size = QT_UINT32 (data + 4);
 | |
| -                if (seqh_size > 0) {
 | |
| +                if (seqh_size > 0 && seqh_size <= size - 8) {
 | |
|                    _seqh = gst_buffer_new_and_alloc (seqh_size);
 | |
|                    gst_buffer_fill (_seqh, 0, data + 8, seqh_size);
 | |
|                  }
 | |
| -- 
 | |
| 2.47.0
 | |
| 
 |