]> code.ossystems Code Review - openembedded-core.git/commitdiff
libsndfile1: Fix CVE-2017-8363
authorJackie Huang <jackie.huang@windriver.com>
Thu, 17 Aug 2017 06:44:29 +0000 (14:44 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 11 Sep 2017 21:15:51 +0000 (22:15 +0100)
Backport the patch to fix CVE-2017-8363:

The flac_buffer_copy function in flac.c in libsndfile 1.0.28 allows
remote attackers to cause a denial of service (heap-based buffer
over-read and application crash) via a crafted audio file.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2017-8363

(From OE-Core rev: 9cc9956c5ed09f9016cb23bd763652e5ab55f3cd)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2017-8363.patch [new file with mode: 0644]
meta/recipes-multimedia/libsndfile/libsndfile1_1.0.27.bb

diff --git a/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2017-8363.patch b/meta/recipes-multimedia/libsndfile/libsndfile1/CVE-2017-8363.patch
new file mode 100644 (file)
index 0000000..e526e5a
--- /dev/null
@@ -0,0 +1,37 @@
+From cd7da8dbf6ee4310d21d9e44b385d6797160d9e8 Mon Sep 17 00:00:00 2001
+From: Erik de Castro Lopo <erikd@mega-nerd.com>
+Date: Wed, 12 Apr 2017 20:19:34 +1000
+Subject: [PATCH] src/flac.c: Fix another memory leak
+
+When the FLAC decoder was passed a malformed file, the associated
+`FLAC__StreamDecoder` object was not getting released.
+
+Closes: https://github.com/erikd/libsndfile/issues/233
+
+CVE: CVE-2017-8363
+
+Upstream-Status: Backport [https://github.com/erikd/libsndfile/commit/cd7da8dbf6ee4310d21d9e44b385d6797160d9e8]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ src/flac.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/flac.c b/src/flac.c
+index 986a7b8..5a4f8c2 100644
+--- a/src/flac.c
++++ b/src/flac.c
+@@ -841,7 +841,9 @@ flac_read_header (SF_PRIVATE *psf)
+       psf_log_printf (psf, "End\n") ;
+-      if (psf->error == 0)
++      if (psf->error != 0)
++              FLAC__stream_decoder_delete (pflac->fsd) ;
++      else
+       {       FLAC__uint64 position ;
+               FLAC__stream_decoder_get_decode_position (pflac->fsd, &position) ;
+-- 
+2.7.4
+
index b255d72f6b0a8f6022b40ceb95403a747683743b..c6df4e95270204f9212d61742c9856ebaafc2430 100644 (file)
@@ -9,6 +9,7 @@ SRC_URI = "http://www.mega-nerd.com/libsndfile/files/libsndfile-${PV}.tar.gz \
            file://CVE-2017-6892.patch \
            file://CVE-2017-8361-8365.patch \
            file://CVE-2017-8362.patch \
+           file://CVE-2017-8363.patch \
           "
 
 SRC_URI[md5sum] = "fd1d97c6077f03b5d984d7956ffedb7a"