Hi, I intent to upload an NMU for this. debdiff attached and archived on: http://people.debian.org/~nion/nmu-diff/ipsec-tools-0.7.1-1.1_0.7.1-1.2.patch
Cheers Nico -- Nico Golde - http://www.ngolde.de - [EMAIL PROTECTED] - GPG: 0x73647CFF For security reasons, all text in this mail is double-rot13 encrypted.
diff -u ipsec-tools-0.7.1/debian/changelog ipsec-tools-0.7.1/debian/changelog
--- ipsec-tools-0.7.1/debian/changelog
+++ ipsec-tools-0.7.1/debian/changelog
@@ -1,3 +1,13 @@
+ipsec-tools (1:0.7.1-1.2) unstable; urgency=high
+
+ * Non-maintainer upload by the Security Team.
+ * Apply upstream patch to remove orphaned phase 1 handles that were
+ initiated remotely if an invalid first exchange was received
+ which may lead to a denial of service attack
+ (CVE-2008-3652; Closes: #501026).
+
+ -- Nico Golde <[EMAIL PROTECTED]> Tue, 07 Oct 2008 14:22:25 +0200
+
ipsec-tools (1:0.7.1-1.1) unstable; urgency=low
* Non-maintainer upload.
only in patch2:
unchanged:
--- ipsec-tools-0.7.1.orig/src/racoon/isakmp.c
+++ ipsec-tools-0.7.1/src/racoon/isakmp.c
@@ -798,20 +798,24 @@
[iph1->side]
[iph1->status])(iph1, msg);
if (error != 0) {
-#if 0
+
/* XXX
* When an invalid packet is received on phase1, it should
* be selected to process this packet. That is to respond
* with a notify and delete phase 1 handler, OR not to respond
- * and keep phase 1 handler.
+ * and keep phase 1 handler. However, in PHASE1ST_START when
+ * acting as RESPONDER we must not keep phase 1 handler or else
+ * it will stay forever.
*/
- plog(LLV_ERROR, LOCATION, iph1->remote,
- "failed to pre-process packet.\n");
- return -1;
-#else
- /* ignore the error and keep phase 1 handler */
- return 0;
-#endif
+
+ if (iph1->side == RESPONDER && iph1->status == PHASE1ST_START) {
+ plog(LLV_ERROR, LOCATION, iph1->remote,
+ "failed to pre-process packet.\n");
+ return -1;
+ } else {
+ /* ignore the error and keep phase 1 handler */
+ return 0;
+ }
}
#ifndef ENABLE_FRAG
pgpUF4qHtIzkJ.pgp
Description: PGP signature

