From: Mark Hatle <mark.hatle@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: [denzil 02/18] Security Advisory - libexif - CVE-2012-2813
Date: Thu, 7 Feb 2013 17:56:29 -0600 [thread overview]
Message-ID: <4e1b2c3b25f9dcffd220fef7f1e654def7c704cc.1360270199.git.mark.hatle@windriver.com> (raw)
In-Reply-To: <cover.1360270199.git.mark.hatle@windriver.com>
From: Yue Tao <Yue.Tao@windriver.com>
[ CQID: WIND00366808 ]
The exif_convert_utf16_to_utf8 function in exif-entry.c in the EXIF
Tag Parsing Library (aka libexif) before 0.6.21 allows remote attackers
to cause a denial of service (out-of-bounds read) or possibly obtain
sensitive information from process memory via crafted EXIF tags in an image.
Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
.../libexif/0001-libexif-CVE-2012-2813.patch | 33 ++++++++++++++++++++++
meta/recipes-support/libexif/libexif_0.6.20.bb | 5 +++-
2 files changed, 37 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-support/libexif/libexif/0001-libexif-CVE-2012-2813.patch
diff --git a/meta/recipes-support/libexif/libexif/0001-libexif-CVE-2012-2813.patch b/meta/recipes-support/libexif/libexif/0001-libexif-CVE-2012-2813.patch
new file mode 100644
index 0000000..fbd0442
--- /dev/null
+++ b/meta/recipes-support/libexif/libexif/0001-libexif-CVE-2012-2813.patch
@@ -0,0 +1,33 @@
+Index: libexif/exif-entry.c
+===================================================================
+RCS file: /cvsroot/libexif/libexif/libexif/exif-entry.c,v
+retrieving revision 1.146
+retrieving revision 1.147
+diff -c -u -r1.146 -r1.147
+--- a/libexif/exif-entry.c 12 Jul 2012 17:10:34 -0000 1.146
++++ b/libexif/exif-entry.c 12 Jul 2012 17:12:24 -0000 1.147
+@@ -1346,10 +1346,23 @@
+ case EXIF_TAG_XP_AUTHOR:
+ case EXIF_TAG_XP_KEYWORDS:
+ case EXIF_TAG_XP_SUBJECT:
++ {
++ /* Sanity check the size to prevent overflow */
++ if (e->size+sizeof(unsigned short) < e->size) break;
++
++ /* The tag may not be U+0000-terminated , so make a local
++ U+0000-terminated copy before converting it */
++ unsigned short *utf16 = exif_mem_alloc (e->priv->mem, e->size+sizeof(unsigned short));
++ if (!utf16) break;
++ memcpy(utf16, e->data, e->size);
++ utf16[e->size/sizeof(unsigned short)] = 0;
++
+ /* Warning! The texts are converted from UTF16 to UTF8 */
+ /* FIXME: use iconv to convert into the locale encoding */
+- exif_convert_utf16_to_utf8(val, (unsigned short*)e->data, MIN(maxlen, e->size));
++ exif_convert_utf16_to_utf8(val, utf16, maxlen);
++ exif_mem_free(e->priv->mem, utf16);
+ break;
++ }
+
+ default:
+ /* Use a generic value formatting */
diff --git a/meta/recipes-support/libexif/libexif_0.6.20.bb b/meta/recipes-support/libexif/libexif_0.6.20.bb
index f233d3f..a1a1816 100644
--- a/meta/recipes-support/libexif/libexif_0.6.20.bb
+++ b/meta/recipes-support/libexif/libexif_0.6.20.bb
@@ -4,7 +4,10 @@ SECTION = "libs"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad"
-SRC_URI = "${SOURCEFORGE_MIRROR}/libexif/libexif-${PV}.tar.bz2"
+PR = "r1"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/libexif/libexif-${PV}.tar.bz2 \
+ file://0001-libexif-CVE-2012-2813.patch"
SRC_URI[md5sum] = "19844ce6b5d075af16f0d45de1e8a6a3"
SRC_URI[sha256sum] = "a772d20bd8fb9802d7f0d70fde6ac8872f87d0c66c52b0d14026dafcaa83d715"
--
1.8.1.2.545.g2f19ada
next prev parent reply other threads:[~2013-02-07 23:45 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-07 23:56 [denzil 00/18] Various fixes for Denzil branch Mark Hatle
2013-02-07 23:56 ` [denzil 01/18] Patch ocf-linux.inc to work with the 2010 and 2012 versions Mark Hatle
2013-02-07 23:56 ` Mark Hatle [this message]
2013-02-07 23:56 ` [denzil 03/18] Security Advisory - libexif - CVE-2012-2812 Mark Hatle
2013-02-07 23:56 ` [denzil 04/18] Security Advisory - libexif - CVE-2012-2841 Mark Hatle
2013-02-07 23:56 ` [denzil 05/18] Security Advisory - libexif - CVE-2012-2836 Mark Hatle
2013-02-07 23:56 ` [denzil 06/18] Security Advisory - libexif - CVE-2012-2837 Mark Hatle
2013-02-07 23:56 ` [denzil 07/18] Security Advisory - libexif - CVE-2012-2840 Mark Hatle
2013-02-07 23:56 ` [denzil 08/18] Summary:Security Advisory - libtiff - CVE-2012-3401 Mark Hatle
2013-02-07 23:56 ` [denzil 09/18] Summary: Security Advisory - boost - CVE-2012-2677 Mark Hatle
2013-02-07 23:56 ` [denzil 10/18] qemu: Add an option to remove host sdl/gl checking Mark Hatle
2013-02-07 23:56 ` [denzil 11/18] qemu-0.15.1: add patch to fix compilatation problems on powerpc Mark Hatle
2013-02-13 17:01 ` McClintock Matthew-B29882
2013-02-13 21:23 ` Mark Hatle
2013-02-13 22:02 ` Mark Hatle
2013-02-07 23:56 ` [denzil 12/18] qemu: Fix illegal instruction errors on e500 emulation Mark Hatle
2013-02-07 23:56 ` [denzil 13/18] qemu: backport patch to fix pl031 RTC Mark Hatle
2013-02-07 23:56 ` [denzil 14/18] nativesdk-qemu: fix SDK relocation issue Mark Hatle
2013-02-07 23:56 ` [denzil 15/18] qemu CVE-2012-3515 Mark Hatle
2013-02-07 23:56 ` [denzil 16/18] lighttpd: fixing invalid read in valgrind Mark Hatle
2013-02-07 23:56 ` [denzil 17/18] lighttpd: CVE-2012-5533 Mark Hatle
2013-02-07 23:56 ` [denzil 18/18] qemu-0.15.1: Add addition environment space to boot loader qemu-system-mips Mark Hatle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4e1b2c3b25f9dcffd220fef7f1e654def7c704cc.1360270199.git.mark.hatle@windriver.com \
--to=mark.hatle@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox