aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2014-04-11 08:12:02 +0300
committerTimo Teräs <timo.teras@iki.fi>2014-04-11 08:12:49 +0300
commit108b2efe7608de735507aaef27518a8d2381a530 (patch)
treeda8bbcc65599a09b58a9d0efa3249c2cb0c5fcca
parentc75bffeb5a2b09ed51bb6f8d7e57e64ee6f96a9e (diff)
downloadaports-108b2efe7608de735507aaef27518a8d2381a530.tar.bz2
aports-108b2efe7608de735507aaef27518a8d2381a530.tar.xz
main/openssl: fix use after free happening without freebufs
and it also happens with freebufs on multi-threaded programs.
-rw-r--r--main/openssl/APKBUILD12
-rw-r--r--main/openssl/fix-use-after-free-without-freelist.patch13
2 files changed, 21 insertions, 4 deletions
diff --git a/main/openssl/APKBUILD b/main/openssl/APKBUILD
index b9199fa04e..0bc902b02b 100644
--- a/main/openssl/APKBUILD
+++ b/main/openssl/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Timo Teras <timo.teras@iki.fi>
pkgname=openssl
pkgver=1.0.1g
-pkgrel=1
+pkgrel=2
pkgdesc="Toolkit for SSL v2/v3 and TLS v1"
url="http://openssl.org"
depends=
@@ -28,6 +28,7 @@ source="http://www.openssl.org/source/${pkgname}-${pkgver}.tar.gz
c_rehash.c
openssl-1.0.1-parallel-build.patch
abi-compat-no-freelists.patch
+ fix-use-after-free-without-freelist.patch
"
_builddir="$srcdir"/$pkgname-$pkgver
@@ -133,7 +134,8 @@ d1f3aaad7c36590f21355682983cd14e openssl-1.0.1-version-eglibc.patch
efec1bce615256961b1756e575ee1d0a fix-default-apps-capath.patch
05ad806219cef6fa5692ac727af7fab6 c_rehash.c
60ca340e32944e4825747e3681ccd553 openssl-1.0.1-parallel-build.patch
-b7f2421187ae2b4c7e424cda2022d41d abi-compat-no-freelists.patch"
+b7f2421187ae2b4c7e424cda2022d41d abi-compat-no-freelists.patch
+148545f22ee15fc737b35768be4aa0cf fix-use-after-free-without-freelist.patch"
sha256sums="53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028 openssl-1.0.1g.tar.gz
fe844e21b2c42da2d8e9c89350211d70c0829f45532b89b7e492bfde589ee7ed fix-manpages.patch
82863c2fed659a7186c7f3905a1853b8bd8060350ad101ce159fa7e7d2ba27e8 openssl-bb-basename.patch
@@ -147,7 +149,8 @@ cbb2493ec9157e78035e9cc02be17655996ee9cd0a71b79507fc19f3862f452b 0003-engines-e
1e11d6b8cdcdd6957c69d33ab670c5918fc96c12fdb9b76b4287cb8f69c3545d fix-default-apps-capath.patch
7b0947fd09ad1e8d9cea360b883090025b40193d0fc8a631f2e3bb42db28d76b c_rehash.c
bd56e5fe1b6fe594ab93f34d25fef0b7372633bad8532f81da998f3e6655d221 openssl-1.0.1-parallel-build.patch
-41c7c1e5bea7f7e0ccc59203a48f097948627d72fcf87f943fcfe8c14b4069a2 abi-compat-no-freelists.patch"
+41c7c1e5bea7f7e0ccc59203a48f097948627d72fcf87f943fcfe8c14b4069a2 abi-compat-no-freelists.patch
+5dd2b8c2d86b6859e8dd34f27924bb251ba0f64856c49edff351c18941483a52 fix-use-after-free-without-freelist.patch"
sha512sums="66ebbad3c8ad98a07b486d39d0c3ae62b00133f8f2877cf8b97c461e7c7f40b29cf9c3cae82cf73a92dcf1daa63d33aa76c910fbcbe60158589fc7cb48f41e6d openssl-1.0.1g.tar.gz
880411d56da49946d24328445728367e0bf13b0fd47954971514bee8cd5613a038ad8aeaf68da2c92f4634deb022febd7b3e37f9bbfc5d2c9c8b3b5ffd971407 fix-manpages.patch
6c4f4b0c1b606b3e5a8175618c4398923392f9c25ad8d3f5b65b0424fe51e104c4f456d2da590d9f572382225ab320278e88db1585790092450cad60a02819a5 openssl-bb-basename.patch
@@ -161,4 +164,5 @@ b019320869d215014ad46e0b29aa239e31243571c4d45256b3ce6449a67fdc106a381c1cf3abd55d
f2e737146a473d55b99f27457718ca299a02a0c74009026a30c3d1347c575bc264962b5708995e02ef7d68521b8366ccea7320523efb87b1ab2632d73fec5658 fix-default-apps-capath.patch
17b5ecda9c51a4a6b7a2b5fea65abc90091ae9c8d43527546148769d8fcfd87450075830b874fcff21b9ad0c31366213b4bfb8665e09cbd2559a8f3688b9aebd c_rehash.c
7255b3315133e415631b2ecadc8f5c50a705b9db507c46efded0190363ce9eb31ffbfe01c500669c060878e5202f858b1d2475c64948426fbf70820b4c798ba1 openssl-1.0.1-parallel-build.patch
-38156d183ebf80de0a39c046b1dddaf99ae64286214f3ee9de51d28212933b5f16c23908aef0aa3d71188306b064969b99da2a0a75693b6bba1bc32884c78b31 abi-compat-no-freelists.patch"
+38156d183ebf80de0a39c046b1dddaf99ae64286214f3ee9de51d28212933b5f16c23908aef0aa3d71188306b064969b99da2a0a75693b6bba1bc32884c78b31 abi-compat-no-freelists.patch
+515197784d7423f4875f9a0b3102fa4a2d63fcec52d52dbc9a36eba9f40b19f2814dc90a2c021b4a573bdf789e691f8f90dc95706d7bc1136d0f4c3b2cb91b09 fix-use-after-free-without-freelist.patch"
diff --git a/main/openssl/fix-use-after-free-without-freelist.patch b/main/openssl/fix-use-after-free-without-freelist.patch
new file mode 100644
index 0000000000..4734c75092
--- /dev/null
+++ b/main/openssl/fix-use-after-free-without-freelist.patch
@@ -0,0 +1,13 @@
+http://rt.openssl.org/Ticket/Attachment/37748/20587/
+
+--- openssl-1.0.1g/ssl/s3_pkt.c.orig 2014-04-11 08:10:03.115295077 -0300
++++ openssl-1.0.1g/ssl/s3_pkt.c 2014-04-11 08:10:38.788435152 -0300
+@@ -1055,7 +1055,7 @@
+ {
+ s->rstate=SSL_ST_READ_HEADER;
+ rr->off=0;
+- if (s->mode & SSL_MODE_RELEASE_BUFFERS)
++ if (s->mode & SSL_MODE_RELEASE_BUFFERS && s->s3->rbuf.left == 0)
+ ssl3_release_read_buffer(s);
+ }
+ }