summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support
diff options
context:
space:
mode:
authorYi Zhao <yi.zhao@windriver.com>2017-08-25 10:56:56 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-27 22:30:06 +0100
commit9ec4a4629db6b044b8f52f0b6383f3526012693a (patch)
treea9c0df89c5880e211fc867d5a9471cf7003cbd03 /meta/recipes-support
parent17ac2b6103a551b0e20ae991887a94295332de20 (diff)
downloadpoky-9ec4a4629db6b044b8f52f0b6383f3526012693a.tar.gz
taglib: Security fix CVE-2017-12678
CVE-2017-12678: In TagLib 1.11.1, the rebuildAggregateFrames function in id3v2framefactory.cpp has a pointer to cast vulnerability, which allows remote attackers to cause a denial of service or possibly have unspecified other impact via a crafted audio file. Reference: https://nvd.nist.gov/vuln/detail/CVE-2017-12678 Patch from: https://github.com/taglib/taglib/pull/831/commits/eb9ded1206f18f2c319157337edea2533a40bea6 (From OE-Core rev: 24ac12ecb19efc7c131c9711ba32e298ba860eb7) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support')
-rw-r--r--meta/recipes-support/taglib/taglib/CVE-2017-12678.patch40
-rw-r--r--meta/recipes-support/taglib/taglib_1.11.1.bb5
2 files changed, 44 insertions, 1 deletions
diff --git a/meta/recipes-support/taglib/taglib/CVE-2017-12678.patch b/meta/recipes-support/taglib/taglib/CVE-2017-12678.patch
new file mode 100644
index 0000000000..4bd9f2be17
--- /dev/null
+++ b/meta/recipes-support/taglib/taglib/CVE-2017-12678.patch
@@ -0,0 +1,40 @@
1From eb9ded1206f18f2c319157337edea2533a40bea6 Mon Sep 17 00:00:00 2001
2From: "Stephen F. Booth" <me@sbooth.org>
3Date: Sun, 23 Jul 2017 10:11:09 -0400
4Subject: [PATCH] Don't assume TDRC is an instance of TextIdentificationFrame
5
6If TDRC is encrypted, FrameFactory::createFrame() returns UnknownFrame
7which causes problems in rebuildAggregateFrames() when it is assumed
8that TDRC is a TextIdentificationFrame
9
10Upstream-Status: Backport
11[https://github.com/taglib/taglib/pull/831/commits/eb9ded1206f18f2c319157337edea2533a40bea6]
12
13CVE: CVE-2017-12678
14
15Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
16---
17 taglib/mpeg/id3v2/id3v2framefactory.cpp | 5 +++--
18 1 file changed, 3 insertions(+), 2 deletions(-)
19
20diff --git a/taglib/mpeg/id3v2/id3v2framefactory.cpp b/taglib/mpeg/id3v2/id3v2framefactory.cpp
21index 759a9b7b..9347ab86 100644
22--- a/taglib/mpeg/id3v2/id3v2framefactory.cpp
23+++ b/taglib/mpeg/id3v2/id3v2framefactory.cpp
24@@ -334,10 +334,11 @@ void FrameFactory::rebuildAggregateFrames(ID3v2::Tag *tag) const
25 tag->frameList("TDAT").size() == 1)
26 {
27 TextIdentificationFrame *tdrc =
28- static_cast<TextIdentificationFrame *>(tag->frameList("TDRC").front());
29+ dynamic_cast<TextIdentificationFrame *>(tag->frameList("TDRC").front());
30 UnknownFrame *tdat = static_cast<UnknownFrame *>(tag->frameList("TDAT").front());
31
32- if(tdrc->fieldList().size() == 1 &&
33+ if(tdrc &&
34+ tdrc->fieldList().size() == 1 &&
35 tdrc->fieldList().front().size() == 4 &&
36 tdat->data().size() >= 5)
37 {
38--
392.13.5
40
diff --git a/meta/recipes-support/taglib/taglib_1.11.1.bb b/meta/recipes-support/taglib/taglib_1.11.1.bb
index 54a92d94ec..50439bc14f 100644
--- a/meta/recipes-support/taglib/taglib_1.11.1.bb
+++ b/meta/recipes-support/taglib/taglib_1.11.1.bb
@@ -8,7 +8,10 @@ LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \
8 8
9DEPENDS = "zlib" 9DEPENDS = "zlib"
10 10
11SRC_URI = "http://taglib.github.io/releases/${BP}.tar.gz" 11SRC_URI = "http://taglib.github.io/releases/${BP}.tar.gz \
12 file://CVE-2017-12678.patch \
13 "
14
12SRC_URI[md5sum] = "cee7be0ccfc892fa433d6c837df9522a" 15SRC_URI[md5sum] = "cee7be0ccfc892fa433d6c837df9522a"
13SRC_URI[sha256sum] = "b6d1a5a610aae6ff39d93de5efd0fdc787aa9e9dc1e7026fa4c961b26563526b" 16SRC_URI[sha256sum] = "b6d1a5a610aae6ff39d93de5efd0fdc787aa9e9dc1e7026fa4c961b26563526b"
14 17