~alpine/aports

This thread contains a patchset. You're looking at the original emails, but you may wish to use the patch review UI. Review patch

[alpine-aports] [PATCH v3.3] main/libass: security fixes

Details
Message ID
<1482146183-139-1-git-send-email-sergej.lukin@gmail.com>
Sender timestamp
1482146183
DKIM signature
missing
Download raw message
Patch: +79 -8
CVE-2016-7969, CVE-2016-7970, CVE-2016-7972
---
 main/libass/APKBUILD            | 44 +++++++++++++++++++++++++++++++++--------
 main/libass/CVE-2016-7969.patch | 16 +++++++++++++++
 main/libass/CVE-2016-7970.patch | 14 +++++++++++++
 main/libass/CVE-2016-7972.patch | 13 ++++++++++++
 4 files changed, 79 insertions(+), 8 deletions(-)
 create mode 100644 main/libass/CVE-2016-7969.patch
 create mode 100644 main/libass/CVE-2016-7970.patch
 create mode 100644 main/libass/CVE-2016-7972.patch

diff --git a/main/libass/APKBUILD b/main/libass/APKBUILD
index c048a2e..1680ca8 100644
--- a/main/libass/APKBUILD
+++ b/main/libass/APKBUILD
@@ -1,10 +1,11 @@
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Sergey Lukin <sergej.lukin@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libass
pkgver=0.13.0
pkgrel=0
pkgrel=1
pkgdesc="A portable library for SSA/ASS subtitles rendering"
url="https://github.com/libass/libass"
arch="all"
@@ -13,11 +14,29 @@ depends=""
depends_dev="enca-dev fontconfig-dev fribidi-dev freetype-dev"
makedepends="$depends_dev"
subpackages="$pkgname-dev"
source="http://github.com/$pkgname/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.xz"
source="http://github.com/$pkgname/$pkgname/releases/download/$pkgver/$pkgname-$pkgver.tar.xz
	CVE-2016-7969.patch
	CVE-2016-7970.patch
	CVE-2016-7972.patch
	"

builddir="$srcdir"/$pkgname-$pkgver

prepare() {
	local i

	cd "$builddir" || return 1

	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || _failed="$_failed $i";;
		esac
	done
}


_builddir="$srcdir"/$pkgname-$pkgver
build() {
	cd "$_builddir"
	cd "$builddir"
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
@@ -31,10 +50,19 @@ build() {
}

package() {
	cd "$_builddir"
	cd "$builddir"
	make DESTDIR="$pkgdir" install
}

md5sums="8e6a506b4e5a637764183083421dc827  libass-0.13.0.tar.xz"
sha256sums="e0071a3b2e95411c8d474014678368e3f0b852f7d663e0564b344e7335eb0671  libass-0.13.0.tar.xz"
sha512sums="0253d0cd306603b2721bd128ad6eb050c74f1ee415145f238f3a10c4041b054bf94857f4c0043a6578c4fd0865e809e25fa9f61071631ba647c731c13418627f  libass-0.13.0.tar.xz"
md5sums="8e6a506b4e5a637764183083421dc827  libass-0.13.0.tar.xz
1c8b3d6cd2ffc1a459fbc105689cd57f  CVE-2016-7969.patch
389d3d9db24f3cc2c1eadb7f8013de98  CVE-2016-7970.patch
1a727bfe2faf3f60dee6dd5e4fc1f17c  CVE-2016-7972.patch"
sha256sums="e0071a3b2e95411c8d474014678368e3f0b852f7d663e0564b344e7335eb0671  libass-0.13.0.tar.xz
983c9583e734dd0370b34013c1701a322ec1235bebae35e6d3c080a1c97adb0d  CVE-2016-7969.patch
d4e6c18c6ee0655bd17f8dd620872d7a0b818d5c9fae6152ff15308123ff8871  CVE-2016-7970.patch
547f3c756988f0962612bf5ac9b7b4771b04a60f86cd7774fd21dc026a9c6980  CVE-2016-7972.patch"
sha512sums="0253d0cd306603b2721bd128ad6eb050c74f1ee415145f238f3a10c4041b054bf94857f4c0043a6578c4fd0865e809e25fa9f61071631ba647c731c13418627f  libass-0.13.0.tar.xz
277154b43386c03b5d85a5a4166580ef66676c869cf600bb1f027380a7e50a26c4a7c2508570cc8121956ba78d8544ee372ce7b8f74c11faef5ce9651211f4cd  CVE-2016-7969.patch
080027ac5f4d776ac678b34f9d69ec236f72ffb46a5afc5db532367854dd1b384530cebf2a3a8e7ab9347b8b5cd63d3d2ea7059427953e9b803ddaaa980fc142  CVE-2016-7970.patch
daaccc308fbec8147ec89a71d82e003817bf25a43f90e573819d001c57ee011fedc05663f8eb095220db4ac58b7e383ac18f454c292979535983fba4ccf09ffa  CVE-2016-7972.patch"
diff --git a/main/libass/CVE-2016-7969.patch b/main/libass/CVE-2016-7969.patch
new file mode 100644
index 0000000..fb68bbd
--- /dev/null
+++ b/main/libass/CVE-2016-7969.patch
@@ -0,0 +1,16 @@
Based on https://github.com/libass/libass/pull/240/commits/b72b283b936a600c730e00875d7d067bded3fc26

diff -ru libass-0.13.0.orig/libass/ass_render.c libass-0.13.0/libass/ass_render.c
--- libass-0.13.0.orig/libass/ass_render.c
+++ libass-0.13.0/libass/ass_render.c
@@ -1609,7 +1609,9 @@
                         ((s3 - 1)->bbox.xMax + (s3 - 1)->pos.x) -
                         (w->bbox.xMin + w->pos.x));
 
-                    if (DIFF(l1_new, l2_new) < DIFF(l1, l2)) {
+                    if (DIFF(l1_new, l2_new) < DIFF(l1, l2) && w > text_info->glyphs) {
+                        if (w->linebreak)
+                            text_info->n_lines--;
                         w->linebreak = 1;
                         s2->linebreak = 0;
                         exit = 0;
diff --git a/main/libass/CVE-2016-7970.patch b/main/libass/CVE-2016-7970.patch
new file mode 100644
index 0000000..d7e229d
--- /dev/null
+++ b/main/libass/CVE-2016-7970.patch
@@ -0,0 +1,14 @@
Based on https://github.com/libass/libass/pull/240/commits/08e754612019ed84d1db0d1fc4f5798248decd75

diff -ru libass-0.13.0.orig/libass/ass_blur.c libass-0.13.0/libass/ass_blur.c
--- libass-0.13.0.orig/libass/ass_blur.c
+++ libass-0.13.0/libass/ass_blur.c
@@ -744,7 +744,7 @@
         (  17 -  126 * mul +  273 * mul2 -  164 * mul3) / 12096,
     };
 
-    double mat_freq[13];
+    double mat_freq[14];
     memcpy(mat_freq, kernel, sizeof(kernel));
     memset(mat_freq + 4, 0, sizeof(mat_freq) - sizeof(kernel));
     int n = 6;
diff --git a/main/libass/CVE-2016-7972.patch b/main/libass/CVE-2016-7972.patch
new file mode 100644
index 0000000..91f2cbe
--- /dev/null
+++ b/main/libass/CVE-2016-7972.patch
@@ -0,0 +1,13 @@
Based on https://github.com/libass/libass/pull/240/commits/aa54e0b59200a994d50a346b5d7ac818ebcf2d4b

diff -ru libass-0.13.0.orig/libass/ass_shaper.c libass-0.13.0/libass/ass_shaper.c
--- libass-0.13.0.orig/libass/ass_shaper.c
+++ libass-0.13.0/libass/ass_shaper.c
@@ -100,6 +100,7 @@
             !ASS_REALLOC_ARRAY(shaper->emblevels, new_size) ||
             !ASS_REALLOC_ARRAY(shaper->cmap, new_size))
             return false;
+        shaper->n_glyphs = new_size;
     }
     return true;
 }
-- 
2.6.6



---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---
Reply to thread Export thread (mbox)