gmp: Make sure the modulus is odd and the exponent not zero
authorTobias Brunner <tobias@strongswan.org>
Wed, 29 Mar 2017 09:26:24 +0000 (11:26 +0200)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Mon, 29 May 2017 09:05:04 +0000 (11:05 +0200)
commit6681d98d18d24b31410fc12c3d61f150107481b3
tree6e95aa898467c0b28104a8a0417c74ead3f20073
parent89f05ed5a963acfe3da074d734527bac3bb23ac5
gmp: Make sure the modulus is odd and the exponent not zero

Unlike mpz_powm() its secure replacement mpz_powm_sec() has the additional
requirement that the exponent must be > 0 and the modulus has to be odd.
Otherwise, it will crash with a floating-point exception.

Fixes: CVE-2017-9022
Fixes: 3e35a6e7a1b0 ("Use side-channel secured mpz_powm_sec of libgmp 5, if available")
src/libstrongswan/plugins/gmp/gmp_rsa_public_key.c