Cloudanix VulnDB

CVE-2024-47599

High · 7.5

CVSS

7.5

EPSS

0.9%

Published

Dec 12, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in a widely used media library can make video or image processing programs crash when they receive certain picture files.

Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Null pointer dereference in gst_jpeg_dec_negotiate when gst_video_decoder_set_output_state returns NULL, causing immediate SEGV on subsequent outstate pointer access.

Why it matters to the business

Media-handling applications using GStreamer can crash when processing certain JPEG streams, interrupting video pipelines and related services with no data theft or remote code execution observed.

How an attack unfolds

An attacker supplies a JPEG stream that forces gst_video_decoder_set_output_state to return NULL inside gst_jpeg_dec_negotiate; the missing NULL check then dereferences the invalid pointer and terminates the process.

How to fix it

Upgrade gstreamer/gstreamer to the commit 5be4b6f03689ab438822f6cfcd13f1f300afe203 or later 1.24.10-equivalent release; rebuild any dependent packages and restart affected services.

How to confirm the fix worked

Confirm the updated gstjpegdec.c contains an explicit NULL check after gst_video_decoder_set_output_state; re-test the pipeline with the previously crashing JPEG input and verify absence of SEGV.

Typical attack path

  1. Identify a GStreamer-based media pipeline that uses the jpegdec element
  2. Craft or obtain a JPEG input that triggers failure inside gst_video_decoder_set_output_state
  3. Feed the input into the pipeline to invoke gst_jpeg_dec_negotiate
  4. Trigger segmentation fault and denial of service

How to detect it

Search process crash logs and core dumps for segmentation faults originating from gstjpegdec.c or the jpegdec element; correlate with inbound JPEG streams processed around the crash timestamp.

What your security team should do

  • Apply the fixed commit or 1.24.10 release across all GStreamer installations
  • Prioritize update for any externally reachable media-processing services
  • Add crash monitoring for processes linked against libgstjpegdec
  • Review downstream dependents for inherited exposure

The record

GStreamer is a library for constructing graphs of media-handling components. A null pointer dereference vulnerability has been discovered in the gst_jpeg_dec_negotiate function in gstjpegdec.c. This function does not check for a NULL return value from gst_video_decoder_set_output_state. When this happens, dereferences of the outstate pointer will lead to a null pointer dereference. This vulnerability can result in a Denial of Service (DoS) by triggering a segmentation fault (SEGV). This vulnerability is fixed in 1.24.10.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:9 gstreamer1-plugins-good 0 1.22.12-4.el9
AlmaLinux:9 gstreamer1-plugins-good-gtk 0 1.22.12-4.el9
Debian:11 gst-plugins-good1.0 0 No fix
Debian:11 gst-plugins-good1.0 0 1.18.4-2+deb11u3
Debian:12 gst-plugins-good1.0 0 1.22.0-5+deb12u2
Debian:13 gst-plugins-good1.0 0 1.24.10-1
Debian:14 gst-plugins-good1.0 0 1.24.10-1
Mageia:9 gstreamer1.0 0 1.22.11-1.1.mga9
Mageia:9 gstreamer1.0-plugins-base 0 1.22.11-1.2.mga9
Mageia:9 gstreamer1.0-plugins-good 0 1.22.11-1.1.mga9
SUSE:Enterprise Storage 7.1 gstreamer-plugins-good 0 1.16.3-150200.3.17.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS gstreamer-plugins-good 0 1.16.3-150200.3.17.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS gstreamer-plugins-good 0 1.20.1-150400.3.9.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS gstreamer-plugins-good 0 1.20.1-150400.3.9.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS gstreamer-plugins-good 0 1.22.0-150500.4.6.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS gstreamer-plugins-good 0 1.22.0-150500.4.6.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 gstreamer-plugins-good 0 1.24.0-150600.3.3.1
SUSE:Linux Enterprise Server 12 SP5-LTSS gstreamer-plugins-good 0 1.8.3-16.12.1
SUSE:Linux Enterprise Server 15 SP3-LTSS gstreamer-plugins-good 0 1.16.3-150200.3.17.1
SUSE:Linux Enterprise Server 15 SP4-LTSS gstreamer-plugins-good 0 1.20.1-150400.3.9.1
SUSE:Linux Enterprise Server 15 SP5-LTSS gstreamer-plugins-good 0 1.22.0-150500.4.6.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 gstreamer-plugins-good 0 1.8.3-16.12.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 gstreamer-plugins-good 0 1.16.3-150200.3.17.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 gstreamer-plugins-good 0 1.20.1-150400.3.9.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 gstreamer-plugins-good 0 1.22.0-150500.4.6.1
SUSE:Linux Enterprise Workstation Extension 15 SP6 gstreamer-plugins-good 0 1.24.0-150600.3.3.1
SUSE:Manager Proxy 4.3 gstreamer-plugins-good 0 1.20.1-150400.3.9.1
SUSE:Manager Server 4.3 gstreamer-plugins-good 0 1.20.1-150400.3.9.1
Ubuntu:16.04:LTS gst-plugins-good0.10 0 No fix
Ubuntu:20.04:LTS gst-plugins-good1.0 0 1.16.3-0ubuntu1.3
Ubuntu:22.04:LTS gst-plugins-good1.0 0 1.20.3-0ubuntu1.3
Ubuntu:24.04:LTS gst-plugins-good1.0 0 1.24.2-1ubuntu1.1
Ubuntu:24.10 gst-plugins-good1.0 0 1.24.8-1ubuntu1.1
Ubuntu:Pro:16.04:LTS gst-plugins-good0.10 0 No fix
Ubuntu:Pro:16.04:LTS gst-plugins-good1.0 0 No fix
Ubuntu:Pro:18.04:LTS gst-plugins-good1.0 0 No fix
openSUSE:Leap 15.6 gstreamer-plugins-good 0 1.24.0-150600.3.3.1
openSUSE:Tumbleweed gstreamer-plugins-good 0 1.24.10-2.1

Related vulnerabilities