[gnome-continuous-yocto/gnomeostree-3.28-rocko: 215/218] libvorbis: CVE-2017-14633



commit e10ad91049f417f0f19f213ee9967299777d0fe0
Author: Tanu Kaskinen <tanuk iki fi>
Date:   Sat Mar 31 08:21:30 2018 +0300

    libvorbis: CVE-2017-14633
    
    In Xiph.Org libvorbis 1.3.5, an out-of-bounds array read vulnerability
    exists in the function mapping0_forward() in mapping0.c, which may lead
    to DoS when operating on a crafted audio file with vorbis_analysis().
    
    References:
    https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14633
    
    (From OE-Core rev: 300b5e921460f8ab1d4870014b343eddd00e77b1)
    
    Signed-off-by: Tanu Kaskinen <tanuk iki fi>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 .../libvorbis/libvorbis/CVE-2017-14633.patch       |   42 ++++++++++++++++++++
 .../libvorbis/libvorbis_1.3.5.bb                   |    1 +
 2 files changed, 43 insertions(+), 0 deletions(-)
---
diff --git a/meta/recipes-multimedia/libvorbis/libvorbis/CVE-2017-14633.patch 
b/meta/recipes-multimedia/libvorbis/libvorbis/CVE-2017-14633.patch
new file mode 100644
index 0000000..9c9e688
--- /dev/null
+++ b/meta/recipes-multimedia/libvorbis/libvorbis/CVE-2017-14633.patch
@@ -0,0 +1,42 @@
+From 07eda55f336e5c44dfc0e4a1e21628faed7255fa Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx sigxcpu org>
+Date: Tue, 31 Oct 2017 18:32:46 +0100
+Subject: [PATCH] CVE-2017-14633: Don't allow for more than 256 channels
+
+Otherwise
+
+ for(i=0;i<vi->channels;i++){
+      /* the encoder setup assumes that all the modes used by any
+         specific bitrate tweaking use the same floor */
+      int submap=info->chmuxlist[i];
+
+overreads later in mapping0_forward since chmuxlist is a fixed array of
+256 elements max.
+
+Upstream-Status: Backport
+CVE: CVE-2017-14633
+
+Reference to upstream patch:
+https://git.xiph.org/?p=vorbis.git;a=commitdiff;h=667ceb4aab60c1f74060143bb24e5f427b3cce5f
+
+Signed-off-by: Tanu Kaskinen <tanuk iki fi>
+---
+ lib/info.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/info.c b/lib/info.c
+index e447a0c..81b7557 100644
+--- a/lib/info.c
++++ b/lib/info.c
+@@ -583,7 +583,7 @@ int vorbis_analysis_headerout(vorbis_dsp_state *v,
+   oggpack_buffer opb;
+   private_state *b=v->backend_state;
+ 
+-  if(!b||vi->channels<=0){
++  if(!b||vi->channels<=0||vi->channels>256){
+     ret=OV_EFAULT;
+     goto err_out;
+   }
+-- 
+2.16.2
+
diff --git a/meta/recipes-multimedia/libvorbis/libvorbis_1.3.5.bb 
b/meta/recipes-multimedia/libvorbis/libvorbis_1.3.5.bb
index 56c5b0a..73f9d1a 100644
--- a/meta/recipes-multimedia/libvorbis/libvorbis_1.3.5.bb
+++ b/meta/recipes-multimedia/libvorbis/libvorbis_1.3.5.bb
@@ -12,6 +12,7 @@ DEPENDS = "libogg"
 
 SRC_URI = "http://downloads.xiph.org/releases/vorbis/${BP}.tar.xz \
            file://0001-configure-Check-for-clang.patch \
+           file://CVE-2017-14633.patch \
           "
 SRC_URI[md5sum] = "28cb28097c07a735d6af56e598e1c90f"
 SRC_URI[sha256sum] = "54f94a9527ff0a88477be0a71c0bab09a4c3febe0ed878b24824906cd4b0e1d1"


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]