summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYi Zhao <yi.zhao@windriver.com>2018-07-11 11:23:44 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-07-15 16:16:16 +0100
commit69dfa029f1c1e4ffb8c69c277a1559782c469107 (patch)
tree36f8f5dfe3c96a4e1c344a1000abc54f1bc1bceb
parentf8b0a5786e036a796cdd995836d9ddb1c32bd53b (diff)
downloadpoky-69dfa029f1c1e4ffb8c69c277a1559782c469107.tar.gz
file: Security fix CVE-2018-10360
CVE-2018-10360: The do_core_note function in readelf.c in libmagic.a in file 5.33 allows remote attackers to cause a denial of service (out-of-bounds read and application crash) via a crafted ELF file. References: https://nvd.nist.gov/vuln/detail/CVE-2018-10360 Patch from: https://github.com/file/file/commit/a642587a9c9e2dd7feacdf513c3643ce26ad3c22 (From OE-Core rev: 22886cf6f37d9a5c6ff90e10e0c17ed7f6321305) Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/file/file/CVE-2018-10360.patch32
-rw-r--r--meta/recipes-devtools/file/file_5.33.bb1
2 files changed, 33 insertions, 0 deletions
diff --git a/meta/recipes-devtools/file/file/CVE-2018-10360.patch b/meta/recipes-devtools/file/file/CVE-2018-10360.patch
new file mode 100644
index 0000000000..7f5671b834
--- /dev/null
+++ b/meta/recipes-devtools/file/file/CVE-2018-10360.patch
@@ -0,0 +1,32 @@
1From df494f4ca494b5e1044052d96a6092a16ef1f6b3 Mon Sep 17 00:00:00 2001
2From: Christos Zoulas <christos@zoulas.com>
3Date: Sat, 9 Jun 2018 16:00:06 +0000
4Subject: [PATCH] Avoid reading past the end of buffer (Rui Reis)
5
6Upstream-Status: Backport
7[https://github.com/file/file/commit/a642587a9c9e2dd7feacdf513c3643ce26ad3c22]
8
9CVE: CVE-2018-10360
10
11Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
12---
13 src/readelf.c | 3 ++-
14 1 file changed, 2 insertions(+), 1 deletion(-)
15
16diff --git a/src/readelf.c b/src/readelf.c
17index 3df0836..d96a538 100644
18--- a/src/readelf.c
19+++ b/src/readelf.c
20@@ -825,7 +825,8 @@ do_core_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type,
21
22 cname = (unsigned char *)
23 &nbuf[doff + prpsoffsets(i)];
24- for (cp = cname; *cp && isprint(*cp); cp++)
25+ for (cp = cname; cp < nbuf + size && *cp
26+ && isprint(*cp); cp++)
27 continue;
28 /*
29 * Linux apparently appends a space at the end
30--
312.7.4
32
diff --git a/meta/recipes-devtools/file/file_5.33.bb b/meta/recipes-devtools/file/file_5.33.bb
index 4126422b38..745ef10951 100644
--- a/meta/recipes-devtools/file/file_5.33.bb
+++ b/meta/recipes-devtools/file/file_5.33.bb
@@ -16,6 +16,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "FILE(?P<pver>(?!6_23).+)"
16 16
17SRC_URI = "git://github.com/file/file.git \ 17SRC_URI = "git://github.com/file/file.git \
18 file://debian-742262.patch \ 18 file://debian-742262.patch \
19 file://CVE-2018-10360.patch \
19 " 20 "
20 21
21SRCREV = "219846094c7593e27453e62855e61181089c48cf" 22SRCREV = "219846094c7593e27453e62855e61181089c48cf"