Date: Friday, July 24, 2015 @ 13:57:33
  Author: allan
Revision: 242478

upgpkg: crypto++ 5.6.2-3

fix CVE-2015-2141

Added:
  crypto++/trunk/CVE-2015-2141.patch
Modified:
  crypto++/trunk/PKGBUILD

---------------------+
 CVE-2015-2141.patch |   32 ++++++++++++++++++++++++++++++++
 PKGBUILD            |    8 +++++++-
 2 files changed, 39 insertions(+), 1 deletion(-)

Added: CVE-2015-2141.patch
===================================================================
--- CVE-2015-2141.patch                         (rev 0)
+++ CVE-2015-2141.patch 2015-07-24 11:57:33 UTC (rev 242478)
@@ -0,0 +1,32 @@
+From 9425e16437439e68c7d96abef922167d68fafaff Mon Sep 17 00:00:00 2001
+From: Jeffrey Walton <[email protected]>
+Date: Sat, 27 Jun 2015 17:56:01 -0400
+Subject: [PATCH] Fix for CVE-2015-2141. Thanks to Evgeny Sidorov for
+ reporting. Squaring to satisfy Jacobi requirements suggested by JPM.
+
+---
+ rw.cpp | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/rw.cpp b/rw.cpp
+index cdd9f2d..0b9318b 100644
+--- a/rw.cpp
++++ b/rw.cpp
+@@ -126,10 +126,16 @@ Integer 
InvertibleRWFunction::CalculateInverse(RandomNumberGenerator &rng, const
+       DoQuickSanityCheck();
+       ModularArithmetic modn(m_n);
+       Integer r, rInv;
+-      do {    // do this in a loop for people using small numbers for testing
++
++      // do this in a loop for people using small numbers for testing
++      do {
+               r.Randomize(rng, Integer::One(), m_n - Integer::One());
++              // Fix for CVE-2015-2141. Thanks to Evgeny Sidorov for 
reporting.
++              // Squaring to satisfy Jacobi requirements suggested by JPM.
++              r = modn.Square(r);
+               rInv = modn.MultiplicativeInverse(r);
+       } while (rInv.IsZero());
++
+       Integer re = modn.Square(r);
+       re = modn.Multiply(re, x);                      // blind
+ 

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2015-07-24 06:56:26 UTC (rev 242477)
+++ PKGBUILD    2015-07-24 11:57:33 UTC (rev 242478)
@@ -8,7 +8,7 @@
 pkgname=crypto++
 pkgver=5.6.2
 _srcver=562
-pkgrel=2
+pkgrel=3
 pkgdesc="A free C++ class library of cryptographic schemes"
 arch=('i686' 'x86_64')
 url="http://www.cryptopp.com/";
@@ -16,10 +16,16 @@
 depends=('gcc-libs')
 makedepends=('unzip')
 source=("http://www.cryptopp.com/cryptopp${_srcver}.zip";
+       'CVE-2015-2141.patch'
         'libcrypto++.pc')
 md5sums=('7ed022585698df48e65ce9218f6c6a67'
+         '7ff9a215b9244b4f8a17c7185e27beda'
          '46de3847c59ad16456fa863eb33e73b2')
 
+prepare() {
+  patch -p1 -i ${srcdir}/CVE-2015-2141.patch
+}
+
 build() {
   sed -i -e 's/^CXXFLAGS/#CXXFLAGS/' GNUmakefile
   export CXXFLAGS="${CXXFLAGS} -DNDEBUG -fPIC"

Reply via email to