blob: 51f0ae37d2023f68d84eab5d5848d860561c1f08 [file] [log] [blame]
From d8867a8452eece3fffab29605f48e6bed47c42d4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Volker=20R=C3=BCmelin?= <vr_strongswan@t-online.de>
Date: Fri, 11 Oct 2013 09:38:24 +0200
Subject: [PATCH] ikev1: Properly initialize list of fragments in case fragment
ID is 0
Fixes CVE-2013-6076.
---
src/libcharon/sa/ikev1/task_manager_v1.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libcharon/sa/ikev1/task_manager_v1.c b/src/libcharon/sa/ikev1/task_manager_v1.c
index 6d4ef14..597416e 100644
--- a/src/libcharon/sa/ikev1/task_manager_v1.c
+++ b/src/libcharon/sa/ikev1/task_manager_v1.c
@@ -1273,7 +1273,7 @@ static status_t handle_fragment(private_task_manager_t *this, message_t *msg)
return FAILED;
}
- if (this->frag.id != payload->get_id(payload))
+ if (!this->frag.list || this->frag.id != payload->get_id(payload))
{
clear_fragments(this, payload->get_id(payload));
this->frag.list = linked_list_create();
--
1.8.1.2