From 108b2efe7608de735507aaef27518a8d2381a530 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Fri, 11 Apr 2014 08:12:02 +0300 Subject: main/openssl: fix use after free happening without freebufs and it also happens with freebufs on multi-threaded programs. --- main/openssl/APKBUILD | 12 ++++++++---- main/openssl/fix-use-after-free-without-freelist.patch | 13 +++++++++++++ 2 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 main/openssl/fix-use-after-free-without-freelist.patch (limited to 'main/openssl') diff --git a/main/openssl/APKBUILD b/main/openssl/APKBUILD index b9199fa04..0bc902b02 100644 --- a/main/openssl/APKBUILD +++ b/main/openssl/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Timo Teras 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 000000000..4734c7509 --- /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); + } + } -- cgit v1.2.3