CVE-2024-47540: GHSL-2024-197: GStreamer uses uninitialized stack memory in Matroska/WebM demuxer

8.6 CVSS

Description

GStreamer is a library for constructing graphs of media-handling components. An uninitialized stack variable vulnerability has been identified in the gst_matroska_demux_add_wvpk_header function within matroska-demux.c. When size < 4, the program calls gst_buffer_unmap with an uninitialized map variable. Then, in the gst_memory_unmap function, the program will attempt to unmap the buffer using the uninitialized map variable, causing a function pointer hijack, as it will jump to mem->allocator->mem_unmap_full or mem->allocator->mem_unmap. This vulnerability could allow an attacker to hijack the execution flow, potentially leading to code execution. This vulnerability is fixed in 1.24.10.

Classification

CVE ID: CVE-2024-47540

CVSS Base Severity: HIGH

CVSS Base Score: 8.6

Affected Products

Vendor: gstreamer

Product: gstreamer

Exploit Prediction Scoring System (EPSS)

EPSS Score: 0.06% (probability of being exploited)

EPSS Percentile: 30.02% (scored less or equal to compared to others)

EPSS Date: 2025-02-03 (when was this score calculated)

References

https://securitylab.github.com/advisories/GHSL-2024-197_GStreamer/
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8057.patch
https://gstreamer.freedesktop.org/security/sa-2024-0017.html

Timeline