GStreamer is a library for constructing graphs of media-handling components. An Use-After-Free read vulnerability has been discovered affecting the processing of CodecPrivate elements in Matroska streams. In the GSTMATROSKAIDCODECPRIVATE case within the gstmatroskademuxparsestream function, a data chunk is allocated using gstebmlreadbinary. Later, the allocated memory is freed in the gstmatroskatrackfree function, by the call to gfree (track->codecpriv). Finally, the freed memory is accessed in the capsserialize function through gstvalueserializebuffer. The freed memory will be accessed in the gstvalueserializebuffer function. This results in a UAF read vulnerability, as the function tries to process memory that has already been freed. This vulnerability is fixed in 1.24.10.
{
"binaries": [
{
"binary_version": "0.10.31-3+nmu4ubuntu2.16.04.3",
"binary_name": "gstreamer0.10-gconf"
},
{
"binary_version": "0.10.31-3+nmu4ubuntu2.16.04.3",
"binary_name": "gstreamer0.10-plugins-good"
},
{
"binary_version": "0.10.31-3+nmu4ubuntu2.16.04.3",
"binary_name": "gstreamer0.10-pulseaudio"
}
]
}{
"availability": "No subscription required",
"binaries": [
{
"binary_version": "1.16.3-0ubuntu1.3",
"binary_name": "gstreamer1.0-gtk3"
},
{
"binary_version": "1.16.3-0ubuntu1.3",
"binary_name": "gstreamer1.0-plugins-good"
},
{
"binary_version": "1.16.3-0ubuntu1.3",
"binary_name": "gstreamer1.0-pulseaudio"
},
{
"binary_version": "1.16.3-0ubuntu1.3",
"binary_name": "gstreamer1.0-qt5"
},
{
"binary_version": "1.16.3-0ubuntu1.3",
"binary_name": "libgstreamer-plugins-good1.0-0"
},
{
"binary_version": "1.16.3-0ubuntu1.3",
"binary_name": "libgstreamer-plugins-good1.0-dev"
}
]
}{
"availability": "No subscription required",
"binaries": [
{
"binary_version": "1.20.3-0ubuntu1.3",
"binary_name": "gstreamer1.0-gtk3"
},
{
"binary_version": "1.20.3-0ubuntu1.3",
"binary_name": "gstreamer1.0-plugins-good"
},
{
"binary_version": "1.20.3-0ubuntu1.3",
"binary_name": "gstreamer1.0-pulseaudio"
},
{
"binary_version": "1.20.3-0ubuntu1.3",
"binary_name": "gstreamer1.0-qt5"
},
{
"binary_version": "1.20.3-0ubuntu1.3",
"binary_name": "libgstreamer-plugins-good1.0-0"
},
{
"binary_version": "1.20.3-0ubuntu1.3",
"binary_name": "libgstreamer-plugins-good1.0-dev"
}
]
}{
"availability": "No subscription required",
"binaries": [
{
"binary_version": "1.24.2-1ubuntu1.1",
"binary_name": "gstreamer1.0-gtk3"
},
{
"binary_version": "1.24.2-1ubuntu1.1",
"binary_name": "gstreamer1.0-plugins-good"
},
{
"binary_version": "1.24.2-1ubuntu1.1",
"binary_name": "gstreamer1.0-pulseaudio"
},
{
"binary_version": "1.24.2-1ubuntu1.1",
"binary_name": "gstreamer1.0-qt5"
},
{
"binary_version": "1.24.2-1ubuntu1.1",
"binary_name": "gstreamer1.0-qt6"
},
{
"binary_version": "1.24.2-1ubuntu1.1",
"binary_name": "libgstreamer-plugins-good1.0-0"
},
{
"binary_version": "1.24.2-1ubuntu1.1",
"binary_name": "libgstreamer-plugins-good1.0-dev"
}
]
}{
"binaries": [
{
"binary_version": "1.8.3-1ubuntu0.5+esm1",
"binary_name": "gstreamer1.0-plugins-good"
},
{
"binary_version": "1.8.3-1ubuntu0.5+esm1",
"binary_name": "gstreamer1.0-pulseaudio"
},
{
"binary_version": "1.8.3-1ubuntu0.5+esm1",
"binary_name": "libgstreamer-plugins-good1.0-0"
},
{
"binary_version": "1.8.3-1ubuntu0.5+esm1",
"binary_name": "libgstreamer-plugins-good1.0-dev"
}
]
}{
"binaries": [
{
"binary_version": "1.14.5-0ubuntu1~18.04.3+esm1",
"binary_name": "gstreamer1.0-gtk3"
},
{
"binary_version": "1.14.5-0ubuntu1~18.04.3+esm1",
"binary_name": "gstreamer1.0-plugins-good"
},
{
"binary_version": "1.14.5-0ubuntu1~18.04.3+esm1",
"binary_name": "gstreamer1.0-pulseaudio"
},
{
"binary_version": "1.14.5-0ubuntu1~18.04.3+esm1",
"binary_name": "gstreamer1.0-qt5"
},
{
"binary_version": "1.14.5-0ubuntu1~18.04.3+esm1",
"binary_name": "libgstreamer-plugins-good1.0-0"
},
{
"binary_version": "1.14.5-0ubuntu1~18.04.3+esm1",
"binary_name": "libgstreamer-plugins-good1.0-dev"
}
]
}