diff options
| -rw-r--r-- | meta-networking/recipes-support/strongswan/files/strongswan-5.0.0-5.1.2_reject_child_sa.patch | 36 | ||||
| -rw-r--r-- | meta-networking/recipes-support/strongswan/strongswan_5.1.1.bb | 1 |
2 files changed, 37 insertions, 0 deletions
diff --git a/meta-networking/recipes-support/strongswan/files/strongswan-5.0.0-5.1.2_reject_child_sa.patch b/meta-networking/recipes-support/strongswan/files/strongswan-5.0.0-5.1.2_reject_child_sa.patch new file mode 100644 index 0000000000..ad3459e995 --- /dev/null +++ b/meta-networking/recipes-support/strongswan/files/strongswan-5.0.0-5.1.2_reject_child_sa.patch | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | From b980ba7757dcfedd756aa055b3271ea58cf85aa6 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Martin Willi <martin@revosec.ch> | ||
| 3 | Date: Thu, 20 Feb 2014 16:08:43 +0100 | ||
| 4 | Subject: [PATCH] ikev2: Reject CREATE_CHILD_SA exchange on unestablished | ||
| 5 | IKE_SAs | ||
| 6 | |||
| 7 | Prevents a responder peer to trick us into established state by starting | ||
| 8 | IKE_SA rekeying before the IKE_SA has been authenticated during IKE_AUTH. | ||
| 9 | |||
| 10 | Fixes CVE-2014-2338 for 5.x versions of strongSwan. | ||
| 11 | --- | ||
| 12 | src/libcharon/sa/ikev2/task_manager_v2.c | 9 +++++++++ | ||
| 13 | 1 file changed, 9 insertions(+) | ||
| 14 | |||
| 15 | diff --git a/src/libcharon/sa/ikev2/task_manager_v2.c b/src/libcharon/sa/ikev2/task_manager_v2.c | ||
| 16 | index ac3be90..a5252ab 100644 | ||
| 17 | --- a/src/libcharon/sa/ikev2/task_manager_v2.c | ||
| 18 | +++ b/src/libcharon/sa/ikev2/task_manager_v2.c | ||
| 19 | @@ -780,6 +780,15 @@ static status_t process_request(private_ | ||
| 20 | case CREATE_CHILD_SA: | ||
| 21 | { /* FIXME: we should prevent this on mediation connections */ | ||
| 22 | bool notify_found = FALSE, ts_found = FALSE; | ||
| 23 | + | ||
| 24 | + if (this->ike_sa->get_state(this->ike_sa) == IKE_CREATED || | ||
| 25 | + this->ike_sa->get_state(this->ike_sa) == IKE_CONNECTING) | ||
| 26 | + { | ||
| 27 | + DBG1(DBG_IKE, "received CREATE_CHILD_SA request for " | ||
| 28 | + "unestablished IKE_SA, rejected"); | ||
| 29 | + return FAILED; | ||
| 30 | + } | ||
| 31 | + | ||
| 32 | enumerator = message->create_payload_enumerator(message); | ||
| 33 | while (enumerator->enumerate(enumerator, &payload)) | ||
| 34 | { | ||
| 35 | -- | ||
| 36 | 1.8.1.2 | ||
diff --git a/meta-networking/recipes-support/strongswan/strongswan_5.1.1.bb b/meta-networking/recipes-support/strongswan/strongswan_5.1.1.bb index a2a2333d63..f8116e3d07 100644 --- a/meta-networking/recipes-support/strongswan/strongswan_5.1.1.bb +++ b/meta-networking/recipes-support/strongswan/strongswan_5.1.1.bb | |||
| @@ -9,6 +9,7 @@ DEPENDS = "gmp openssl flex-native flex bison-native" | |||
| 9 | 9 | ||
| 10 | SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \ | 10 | SRC_URI = "http://download.strongswan.org/strongswan-${PV}.tar.bz2 \ |
| 11 | file://fix-funtion-parameter.patch \ | 11 | file://fix-funtion-parameter.patch \ |
| 12 | file://strongswan-5.0.0-5.1.2_reject_child_sa.patch \ | ||
| 12 | " | 13 | " |
| 13 | 14 | ||
| 14 | SRC_URI[md5sum] = "e3af3d493d22286be3cd794533a8966a" | 15 | SRC_URI[md5sum] = "e3af3d493d22286be3cd794533a8966a" |
