aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/crypto/diffie_hellman.h
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2014-12-01 17:21:59 +0100
committerAndreas Steffen <andreas.steffen@strongswan.org>2014-12-23 15:40:01 +0100
commite13ef5c43416304f0e750af3bb87fd2fad3eee41 (patch)
treeb7a944e1fc76beccf45b3a9352675c0fc0726260 /src/libstrongswan/crypto/diffie_hellman.h
parent6683cf6a5ad0eeb359de80c56068532116a17f17 (diff)
downloadstrongswan-e13ef5c43416304f0e750af3bb87fd2fad3eee41.tar.bz2
strongswan-e13ef5c43416304f0e750af3bb87fd2fad3eee41.tar.xz
crypto: Define MODP_CUSTOM outside of IKE DH range
Before this fix it was possible to crash charon with an IKE_SA_INIT message containing a KE payload with DH group MODP_CUSTOM(1025). Defining MODP_CUSTOM outside of the two byte IKE DH identifier range prevents it from getting negotiated. Fixes CVE-2014-9221.
Diffstat (limited to 'src/libstrongswan/crypto/diffie_hellman.h')
-rw-r--r--src/libstrongswan/crypto/diffie_hellman.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libstrongswan/crypto/diffie_hellman.h b/src/libstrongswan/crypto/diffie_hellman.h
index 105db22f1..d5161d077 100644
--- a/src/libstrongswan/crypto/diffie_hellman.h
+++ b/src/libstrongswan/crypto/diffie_hellman.h
@@ -63,12 +63,14 @@ enum diffie_hellman_group_t {
/** insecure NULL diffie hellman group for testing, in PRIVATE USE */
MODP_NULL = 1024,
/** MODP group with custom generator/prime */
- MODP_CUSTOM = 1025,
/** Parameters defined by IEEE 1363.1, in PRIVATE USE */
NTRU_112_BIT = 1030,
NTRU_128_BIT = 1031,
NTRU_192_BIT = 1032,
- NTRU_256_BIT = 1033
+ NTRU_256_BIT = 1033,
+ /** internally used DH group with additional parameters g and p, outside
+ * of PRIVATE USE (i.e. IKEv2 DH group range) so it can't be negotiated */
+ MODP_CUSTOM = 65536,
};
/**