aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 0000000..7f5671b
--- /dev/null
+++ b/meta/recipes-devtools/file/file/CVE-2018-10360.patch
@@ -0,0 +1,32 @@
+From df494f4ca494b5e1044052d96a6092a16ef1f6b3 Mon Sep 17 00:00:00 2001
+From: Christos Zoulas <christos@zoulas.com>
+Date: Sat, 9 Jun 2018 16:00:06 +0000
+Subject: [PATCH] Avoid reading past the end of buffer (Rui Reis)
+
+Upstream-Status: Backport
+[https://github.com/file/file/commit/a642587a9c9e2dd7feacdf513c3643ce26ad3c22]
+
+CVE: CVE-2018-10360
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ src/readelf.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/readelf.c b/src/readelf.c
+index 3df0836..d96a538 100644
+--- a/src/readelf.c
++++ b/src/readelf.c
+@@ -825,7 +825,8 @@ do_core_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type,
+
+ cname = (unsigned char *)
+ &nbuf[doff + prpsoffsets(i)];
+- for (cp = cname; *cp && isprint(*cp); cp++)
++ for (cp = cname; cp < nbuf + size && *cp
++ && isprint(*cp); cp++)
+ continue;
+ /*
+ * Linux apparently appends a space at the end
+--
+2.7.4
+
diff --git a/meta/recipes-devtools/file/file_5.33.bb b/meta/recipes-devtools/file/file_5.33.bb
index 4126422..745ef10 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).+)"
SRC_URI = "git://github.com/file/file.git \
file://debian-742262.patch \
+ file://CVE-2018-10360.patch \
"
SRCREV = "219846094c7593e27453e62855e61181089c48cf"