diff options
author | Leonardo Arena <rnalrd@alpinelinux.org> | 2016-10-19 09:14:15 +0000 |
---|---|---|
committer | Leonardo Arena <rnalrd@alpinelinux.org> | 2016-10-19 09:14:47 +0000 |
commit | 75fc21729969f5ee39b47bd07b3c76b9c4d08d6d (patch) | |
tree | 44f646e11599c3ddf53df053876efe2e83e6712c | |
parent | c0c97a7195272f67a1662751d939781c92425cc4 (diff) | |
download | alpine_aports-75fc21729969f5ee39b47bd07b3c76b9c4d08d6d.tar.bz2 alpine_aports-75fc21729969f5ee39b47bd07b3c76b9c4d08d6d.tar.xz alpine_aports-75fc21729969f5ee39b47bd07b3c76b9c4d08d6d.zip |
main/openjpeg: security upgrade to 2.1.2 (CVE-2016-7445). Fixes #6262
-rw-r--r-- | main/openjpeg/APKBUILD | 24 | ||||
-rw-r--r-- | main/openjpeg/CVE-2015-6581.patch | 44 | ||||
-rw-r--r-- | main/openjpeg/fix-use-after-free.patch | 45 |
3 files changed, 10 insertions, 103 deletions
diff --git a/main/openjpeg/APKBUILD b/main/openjpeg/APKBUILD index 9e340a68ed..0333df5311 100644 --- a/main/openjpeg/APKBUILD +++ b/main/openjpeg/APKBUILD | |||
@@ -1,8 +1,8 @@ | |||
1 | # Contributor: William Pitcock <nenolod@dereferenced.org> | 1 | # Contributor: William Pitcock <nenolod@dereferenced.org> |
2 | # Maintainer: | 2 | # Maintainer: |
3 | pkgname=openjpeg | 3 | pkgname=openjpeg |
4 | pkgver=2.1.0 | 4 | pkgver=2.1.2 |
5 | pkgrel=1 | 5 | pkgrel=0 |
6 | pkgdesc="Open-source implementation of JPEG2000 image codec" | 6 | pkgdesc="Open-source implementation of JPEG2000 image codec" |
7 | url="http://www.openjpeg.org/" | 7 | url="http://www.openjpeg.org/" |
8 | arch="all" | 8 | arch="all" |
@@ -12,11 +12,13 @@ depends_dev="" | |||
12 | makedepends="$depends_dev libpng-dev tiff-dev lcms-dev doxygen cmake" | 12 | makedepends="$depends_dev libpng-dev tiff-dev lcms-dev doxygen cmake" |
13 | install="" | 13 | install="" |
14 | subpackages="$pkgname-dev $pkgname-tools" | 14 | subpackages="$pkgname-dev $pkgname-tools" |
15 | source="http://downloads.sourceforge.net/project/openjpeg.mirror/$pkgver/openjpeg-$pkgver.tar.gz | 15 | source="$pkgname-$pkgver.tar.gz::https://github.com/uclouvain/openjpeg/archive/v$pkgver.tar.gz |
16 | CVE-2015-6581.patch | ||
17 | fix-use-after-free.patch | ||
18 | " | 16 | " |
19 | 17 | ||
18 | # secfixes: | ||
19 | # 2.1.2-r0: | ||
20 | # - CVE-2016-7445 | ||
21 | |||
20 | _builddir="${srcdir}/$pkgname-$pkgver" | 22 | _builddir="${srcdir}/$pkgname-$pkgver" |
21 | prepare() { | 23 | prepare() { |
22 | local i | 24 | local i |
@@ -50,12 +52,6 @@ tools() { | |||
50 | mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ | 52 | mv "$pkgdir"/usr/bin "$subpkgdir"/usr/ |
51 | } | 53 | } |
52 | 54 | ||
53 | md5sums="f6419fcc233df84f9a81eb36633c6db6 openjpeg-2.1.0.tar.gz | 55 | md5sums="40a7bfdcc66280b3c1402a0eb1a27624 openjpeg-2.1.2.tar.gz" |
54 | c4d44799e0f048d4e8ea63dc66c043c2 CVE-2015-6581.patch | 56 | sha256sums="4ce77b6ef538ef090d9bde1d5eeff8b3069ab56c4906f083475517c2c023dfa7 openjpeg-2.1.2.tar.gz" |
55 | 5dfdfba1783e5f62a4270b0a3681e77f fix-use-after-free.patch" | 57 | sha512sums="411067e33c8e4da9921d0281e932a4ac2af592cf822bfad828daea9e2b9c414859455bcec6d912ce76460ea462fa4cbd94a401333bda5716ec017d18b8e5942c openjpeg-2.1.2.tar.gz" |
56 | sha256sums="1232bb814fd88d8ed314c94f0bfebb03de8559583a33abbe8c64ef3fc0a8ff03 openjpeg-2.1.0.tar.gz | ||
57 | bb970ede0eeb5b2b849fe4a6ec93114bb8887160fdf06cc77f179866b5fc9ad8 CVE-2015-6581.patch | ||
58 | fc7205e89cc8221511d8bd056254b56445ff872b3fd217bfb6295f3989b2c9cc fix-use-after-free.patch" | ||
59 | sha512sums="3da84d7828a82c738f6ea5fe776c989283ba257cc6884aebfc090cee7e33c88471dee1a93f4a87a300b11f43b98f6624b838171f06227add24afcb1d57208df1 openjpeg-2.1.0.tar.gz | ||
60 | cf6b65b955de0de29af6b6be4d09c172a153f881be07e3e80435fdcdfe3fae07c4e11138ba76fb62f2ec1adb8043d580b4bfcf5e0807e82ec36307b0cb18f67f CVE-2015-6581.patch | ||
61 | a1cebeb7933bf10b47ebe420b71c0e2a83eb269028cf42aae08eb9b8a36b19df4c94c91ae1ef3d13e0a284f34ac0bd989e56f8071f0c0a3ca0326cc8d2502d91 fix-use-after-free.patch" | ||
diff --git a/main/openjpeg/CVE-2015-6581.patch b/main/openjpeg/CVE-2015-6581.patch deleted file mode 100644 index e1ff602196..0000000000 --- a/main/openjpeg/CVE-2015-6581.patch +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | From 0fa5a17c98c4b8f9ee2286f4f0a50cf52a5fccb0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Matthieu Darbois <mayeut@users.noreply.github.com> | ||
3 | Date: Tue, 19 May 2015 21:57:27 +0000 | ||
4 | Subject: [PATCH] [trunk] Correct potential double free on malloc failure in | ||
5 | opj_j2k_copy_default_tcp_and_create_tcp (fixes issue 492) | ||
6 | |||
7 | --- | ||
8 | src/lib/openjp2/j2k.c | 9 +++++++++ | ||
9 | 1 file changed, 9 insertions(+) | ||
10 | |||
11 | diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c | ||
12 | index 8c62a39..cbdd368 100644 | ||
13 | --- a/src/lib/openjp2/j2k.c | ||
14 | +++ b/src/lib/openjp2/j2k.c | ||
15 | @@ -7365,6 +7365,12 @@ static OPJ_BOOL opj_j2k_copy_default_tcp_and_create_tcd ( opj_j2k_t * p_j2 | ||
16 | l_tcp->cod = 0; | ||
17 | l_tcp->ppt = 0; | ||
18 | l_tcp->ppt_data = 00; | ||
19 | + /* Remove memory not owned by this tile in case of early error return. */ | ||
20 | + l_tcp->m_mct_decoding_matrix = 00; | ||
21 | + l_tcp->m_nb_max_mct_records = 0; | ||
22 | + l_tcp->m_mct_records = 00; | ||
23 | + l_tcp->m_nb_max_mcc_records = 0; | ||
24 | + l_tcp->m_mcc_records = 00; | ||
25 | /* Reconnect the tile-compo coding parameters pointer to the current tile coding parameters*/ | ||
26 | l_tcp->tccps = l_current_tccp; | ||
27 | |||
28 | @@ -7402,6 +7408,8 @@ static OPJ_BOOL opj_j2k_copy_default_tcp_and_create_tcd ( opj_j2k_t * p_j2 | ||
29 | |||
30 | ++l_src_mct_rec; | ||
31 | ++l_dest_mct_rec; | ||
32 | + /* Update with each pass to free exactly what has been allocated on early return. */ | ||
33 | + l_tcp->m_nb_max_mct_records += 1; | ||
34 | } | ||
35 | |||
36 | /* Get the mcc_record of the dflt_tile_cp and copy them into the current tile cp*/ | ||
37 | @@ -7411,6 +7419,7 @@ static OPJ_BOOL opj_j2k_copy_default_tcp_and_create_tcd ( opj_j2k_t * p_j2 | ||
38 | return OPJ_FALSE; | ||
39 | } | ||
40 | memcpy(l_tcp->m_mcc_records,l_default_tcp->m_mcc_records,l_mcc_records_size); | ||
41 | + l_tcp->m_nb_max_mcc_records = l_default_tcp->m_nb_max_mcc_records; | ||
42 | |||
43 | /* Copy the mcc record data from dflt_tile_cp to the current tile*/ | ||
44 | l_src_mcc_rec = l_default_tcp->m_mcc_records; | ||
diff --git a/main/openjpeg/fix-use-after-free.patch b/main/openjpeg/fix-use-after-free.patch deleted file mode 100644 index 6dbffbae30..0000000000 --- a/main/openjpeg/fix-use-after-free.patch +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | From 940100c28ae28931722290794889cf84a92c5f6f Mon Sep 17 00:00:00 2001 | ||
2 | From: mayeut <mayeut@users.noreply.github.com> | ||
3 | Date: Sun, 6 Sep 2015 17:24:03 +0200 | ||
4 | Subject: [PATCH] Fix potential use-after-free in opj_j2k_write_mco function | ||
5 | |||
6 | Fixes #563 | ||
7 | --- | ||
8 | src/lib/openjp2/j2k.c | 8 ++++---- | ||
9 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
10 | |||
11 | diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c | ||
12 | index 19a48f5..d487d89 100644 | ||
13 | --- a/src/lib/openjp2/j2k.c | ||
14 | +++ b/src/lib/openjp2/j2k.c | ||
15 | @@ -5559,8 +5559,7 @@ static OPJ_BOOL opj_j2k_write_mco( opj_j2k_t *p_j2k, | ||
16 | assert(p_stream != 00); | ||
17 | |||
18 | l_tcp =&(p_j2k->m_cp.tcps[p_j2k->m_current_tile_number]); | ||
19 | - l_current_data = p_j2k->m_specific_param.m_encoder.m_header_tile_data; | ||
20 | - | ||
21 | + | ||
22 | l_mco_size = 5 + l_tcp->m_nb_mcc_records; | ||
23 | if (l_mco_size > p_j2k->m_specific_param.m_encoder.m_header_tile_data_size) { | ||
24 | |||
25 | @@ -5575,6 +5574,8 @@ static OPJ_BOOL opj_j2k_write_mco( opj_j2k_t *p_j2k, | ||
26 | p_j2k->m_specific_param.m_encoder.m_header_tile_data = new_header_tile_data; | ||
27 | p_j2k->m_specific_param.m_encoder.m_header_tile_data_size = l_mco_size; | ||
28 | } | ||
29 | + l_current_data = p_j2k->m_specific_param.m_encoder.m_header_tile_data; | ||
30 | + | ||
31 | |||
32 | opj_write_bytes(l_current_data,J2K_MS_MCO,2); /* MCO */ | ||
33 | l_current_data += 2; | ||
34 | @@ -5586,10 +5587,9 @@ static OPJ_BOOL opj_j2k_write_mco( opj_j2k_t *p_j2k, | ||
35 | ++l_current_data; | ||
36 | |||
37 | l_mcc_record = l_tcp->m_mcc_records; | ||
38 | - for (i=0;i<l_tcp->m_nb_mcc_records;++i) { | ||
39 | + for (i=0;i<l_tcp->m_nb_mcc_records;++i) { | ||
40 | opj_write_bytes(l_current_data,l_mcc_record->m_index,1);/* Imco -> use the mcc indicated by 1*/ | ||
41 | ++l_current_data; | ||
42 | - | ||
43 | ++l_mcc_record; | ||
44 | } | ||
45 | |||