Fix an "invalid read during ID3v2 tag parsing". https://security-tracker.debian.org/tracker/TEMP-0000000-57E7C1 https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/876 Patch copied from upstream source repository: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/commit/f4a1428a6997658625d529b9db60fde812fbf1ee From f4a1428a6997658625d529b9db60fde812fbf1ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Wed, 3 Mar 2021 01:08:25 +0000 Subject: [PATCH] tag: id3v2: fix frame size check and potential invalid reads Check the right variable when checking if there's enough data left to read the frame size. Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/876 Part-of: --- gst-libs/gst/tag/id3v2frames.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-libs/gst/tag/id3v2frames.c b/gst-libs/gst/tag/id3v2frames.c index 8e9f78254..f39659bf7 100644 --- a/gst-libs/gst/tag/id3v2frames.c +++ b/gst-libs/gst/tag/id3v2frames.c @@ -109,7 +109,7 @@ id3v2_parse_frame (ID3TagsWorking * work) if (work->frame_flags & (ID3V2_FRAME_FORMAT_COMPRESSION | ID3V2_FRAME_FORMAT_DATA_LENGTH_INDICATOR)) { - if (work->hdr.frame_data_size <= 4) + if (frame_data_size <= 4) return FALSE; if (ID3V2_VER_MAJOR (work->hdr.version) == 3) { work->parse_size = GST_READ_UINT32_BE (frame_data); -- 2.31.1