An out-of-bounds write vulnerability was found in GStreamer's H.266/VVC PPS picture partition parser in gst-plugins-bad. In the multi-slice-in-tile processing of gsth266parserparsepicturepartition() (gsth266parser.c), the loop iterates without checking that the slice index stays within bounds, writing past three fixed-size arrays (sliceheightinctus, slicetopleftctux, slicetopleftctuy) in the GstH266PPS structure. While the initial proof-of-concept demonstrated a 4-byte out-of-bounds write, the code permits larger writes across multiple iterations. A crafted H.266/VVC media file can trigger this vulnerability.
{
"binaries": [
{
"binary_name": "gstreamer1.0-hybris",
"binary_version": "1.2.4-1~ubuntu1.1"
},
{
"binary_name": "gstreamer1.0-plugins-bad",
"binary_version": "1.2.4-1~ubuntu1.1"
},
{
"binary_name": "gstreamer1.0-plugins-bad-faad",
"binary_version": "1.2.4-1~ubuntu1.1"
},
{
"binary_name": "gstreamer1.0-plugins-bad-videoparsers",
"binary_version": "1.2.4-1~ubuntu1.1"
},
{
"binary_name": "libgstreamer-plugins-bad1.0-0",
"binary_version": "1.2.4-1~ubuntu1.1"
}
]
}{
"binaries": [
{
"binary_name": "gir1.2-gst-plugins-bad-1.0",
"binary_version": "1.26.5-1ubuntu2"
},
{
"binary_name": "gstreamer1.0-opencv",
"binary_version": "1.26.5-1ubuntu2"
},
{
"binary_name": "gstreamer1.0-plugins-bad",
"binary_version": "1.26.5-1ubuntu2"
},
{
"binary_name": "gstreamer1.0-plugins-bad-apps",
"binary_version": "1.26.5-1ubuntu2"
},
{
"binary_name": "libgstreamer-opencv1.0-0",
"binary_version": "1.26.5-1ubuntu2"
},
{
"binary_name": "libgstreamer-plugins-bad1.0-0",
"binary_version": "1.26.5-1ubuntu2"
}
]
}{
"binaries": [
{
"binary_name": "gir1.2-gst-plugins-bad-1.0",
"binary_version": "1.28.2-1ubuntu1.1"
},
{
"binary_name": "gir1.2-gst-plugins-extra-1.0",
"binary_version": "1.28.2-1ubuntu1.1"
},
{
"binary_name": "gstreamer1.0-opencv",
"binary_version": "1.28.2-1ubuntu1.1"
},
{
"binary_name": "gstreamer1.0-plugins-bad",
"binary_version": "1.28.2-1ubuntu1.1"
},
{
"binary_name": "gstreamer1.0-plugins-bad-apps",
"binary_version": "1.28.2-1ubuntu1.1"
},
{
"binary_name": "gstreamer1.0-plugins-extra",
"binary_version": "1.28.2-1ubuntu1.1"
},
{
"binary_name": "libgstreamer-opencv1.0-0",
"binary_version": "1.28.2-1ubuntu1.1"
},
{
"binary_name": "libgstreamer-plugins-bad1.0-0",
"binary_version": "1.28.2-1ubuntu1.1"
},
{
"binary_name": "libgstreamer-plugins-extra1.0-0",
"binary_version": "1.28.2-1ubuntu1.1"
}
],
"availability": "No subscription required"
}{
"binaries": [
{
"binary_name": "gir1.2-gst-plugins-bad-1.0",
"binary_version": "1.8.3-1ubuntu0.2+esm1"
},
{
"binary_name": "gstreamer1.0-hybris",
"binary_version": "1.8.3-1ubuntu0.2+esm1"
},
{
"binary_name": "gstreamer1.0-plugins-bad",
"binary_version": "1.8.3-1ubuntu0.2+esm1"
},
{
"binary_name": "gstreamer1.0-plugins-bad-faad",
"binary_version": "1.8.3-1ubuntu0.2+esm1"
},
{
"binary_name": "gstreamer1.0-plugins-bad-videoparsers",
"binary_version": "1.8.3-1ubuntu0.2+esm1"
},
{
"binary_name": "libgstreamer-plugins-bad1.0-0",
"binary_version": "1.8.3-1ubuntu0.2+esm1"
}
]
}{
"binaries": [
{
"binary_name": "gir1.2-gst-plugins-bad-1.0",
"binary_version": "1.14.5-0ubuntu1~18.04.1+esm1"
},
{
"binary_name": "gstreamer1.0-opencv",
"binary_version": "1.14.5-0ubuntu1~18.04.1+esm1"
},
{
"binary_name": "gstreamer1.0-plugins-bad",
"binary_version": "1.14.5-0ubuntu1~18.04.1+esm1"
},
{
"binary_name": "libgstreamer-opencv1.0-0",
"binary_version": "1.14.5-0ubuntu1~18.04.1+esm1"
},
{
"binary_name": "libgstreamer-plugins-bad1.0-0",
"binary_version": "1.14.5-0ubuntu1~18.04.1+esm1"
}
]
}{
"binaries": [
{
"binary_name": "gir1.2-gst-plugins-bad-1.0",
"binary_version": "1.16.3-0ubuntu1.1+esm1"
},
{
"binary_name": "gstreamer1.0-opencv",
"binary_version": "1.16.3-0ubuntu1.1+esm1"
},
{
"binary_name": "gstreamer1.0-plugins-bad",
"binary_version": "1.16.3-0ubuntu1.1+esm1"
},
{
"binary_name": "libgstreamer-opencv1.0-0",
"binary_version": "1.16.3-0ubuntu1.1+esm1"
},
{
"binary_name": "libgstreamer-plugins-bad1.0-0",
"binary_version": "1.16.3-0ubuntu1.1+esm1"
}
]
}{
"binaries": [
{
"binary_name": "gir1.2-gst-plugins-bad-1.0",
"binary_version": "1.20.3-0ubuntu1.1+esm2"
},
{
"binary_name": "gstreamer1.0-opencv",
"binary_version": "1.20.3-0ubuntu1.1+esm2"
},
{
"binary_name": "gstreamer1.0-plugins-bad",
"binary_version": "1.20.3-0ubuntu1.1+esm2"
},
{
"binary_name": "gstreamer1.0-plugins-bad-apps",
"binary_version": "1.20.3-0ubuntu1.1+esm2"
},
{
"binary_name": "gstreamer1.0-wpe",
"binary_version": "1.20.3-0ubuntu1.1+esm2"
},
{
"binary_name": "libgstreamer-opencv1.0-0",
"binary_version": "1.20.3-0ubuntu1.1+esm2"
},
{
"binary_name": "libgstreamer-plugins-bad1.0-0",
"binary_version": "1.20.3-0ubuntu1.1+esm2"
}
]
}{
"binaries": [
{
"binary_name": "gir1.2-gst-plugins-bad-1.0",
"binary_version": "1.24.2-1ubuntu4+esm1"
},
{
"binary_name": "gstreamer1.0-opencv",
"binary_version": "1.24.2-1ubuntu4+esm1"
},
{
"binary_name": "gstreamer1.0-plugins-bad",
"binary_version": "1.24.2-1ubuntu4+esm1"
},
{
"binary_name": "gstreamer1.0-plugins-bad-apps",
"binary_version": "1.24.2-1ubuntu4+esm1"
},
{
"binary_name": "libgstreamer-opencv1.0-0",
"binary_version": "1.24.2-1ubuntu4+esm1"
},
{
"binary_name": "libgstreamer-plugins-bad1.0-0",
"binary_version": "1.24.2-1ubuntu4+esm1"
}
]
}