<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>173219</bug_id>
          
          <creation_ts>2007-04-03 05:37 0000</creation_ts>
          <short_desc>net-firewall/ipsec-tools DoS (CVE-2007-1841)</short_desc>
          <delta_ts>2007-05-08 20:05:37 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Security</product>
          <component>Vulnerabilities</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <status_whiteboard>B3 [glsa] jaervosz</status_whiteboard>
          
          <priority>P2</priority>
          <bug_severity>minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>jaervosz@gentoo.org</reporter>
          <assigned_to>security@gentoo.org</assigned_to>
          <cc>bill@merriam.net</cc>
    
    <cc>cyrius@linog-consulting.com</cc>
    
    <cc>dragonheart@gentoo.org</cc>
    
    <cc>latexer@gentoo.org</cc>
    
    <cc>py@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2007-04-03 05:37:41 0000</bug_when>
            <thetext>The ISAKMP RFC makes it clear that informational exchanges with a  
delete payload should be encrypted.  This attack consists of sending  
an informational exchange message during the beginning of phase 1  
before the point where packets are encrypted.  If the message,  
directed at one of the 2 peers, contains the source address of the  
other peer, the correct cookie(s), a bogus hash payload, and a delete  
payload indicating that the ISAKMP SAs have been deleted, the packet  
will get through and terminate the exchange.

In the file isakmp_inf.c the function isakmp_info_recv() checks if  
the message is encrypted, and if so, decrypts it and verifies that  
the hash is present and correct.  If the message is not encrypted,  
which is allowed for some informational exchanges, then that part is  
skipped.  It then checks the state of the phase 1 negotiation and  
discards the message if its past the point where messages should be  
encrypted.  Since the attack is sent before that point, the message  
is passed.  It then calls isakmp_info_recv_d() which does not check  
that the message was encrypted.  It only checks that a hash payload  
is present, but does not check its validity, so the hash payload can  
contain anything.  The delete payload is then processed, terminating  
the attempt to establish ISAKMP SAs.

The fix is simply to check that the message was encrypted before  
calling isakmp_info_recv_d().</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2007-04-03 14:55:39 0000</bug_when>
            <thetext>Created an attachment (id=115370)
patch-racoon-isakmp_inf.c-recv

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>falco@gentoo.org</who>
            <bug_when>2007-04-10 12:50:53 0000</bug_when>
            <thetext>This goes public now.

Hi Letexer, any news on this one? thanks</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>falco@gentoo.org</who>
            <bug_when>2007-04-10 12:52:34 0000</bug_when>
            <thetext>*** Bug 174026 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2007-04-18 05:30:59 0000</bug_when>
            <thetext>-dev mailed for assistance.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dragonheart@gentoo.org</who>
            <bug_when>2007-04-21 07:43:21 0000</bug_when>
            <thetext>i&apos;ll add a update soon.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dragonheart@gentoo.org</who>
            <bug_when>2007-04-21 12:33:08 0000</bug_when>
            <thetext>ebuild added. awaiting review from users in bug #152971 before going stable.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bill@merriam.net</who>
            <bug_when>2007-04-29 16:39:02 0000</bug_when>
            <thetext>The 0.6.7 ebuild has a DEPEND  kerberos? ( app-crypt/mit-krb5 ).  This doesn&apos;t work with Heimdal.  I believe it should read something like kerberos? ( virtual/krb5 )</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2007-04-30 08:25:25 0000</bug_when>
            <thetext>Daniel please comment.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dragonheart@gentoo.org</who>
            <bug_when>2007-04-30 09:15:51 0000</bug_when>
            <thetext>(In reply to comment #7)
&gt; This doesn&apos;t
&gt; work with Heimdal.
So it works with heimdal? - I got bug #176541 but I&apos;m going to assume it compiles under other conditions.
&gt; I believe it should read something like kerberos? (
&gt; virtual/krb5 )
Changed as requested.

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2007-04-30 12:37:06 0000</bug_when>
            <thetext>*** Bug 176558 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2007-04-30 12:39:18 0000</bug_when>
            <thetext>Thx Daniel.

Arches please test and mark stable. Target keywords are:

ipsec-tools-0.6.7.ebuild:KEYWORDS=&quot;&quot;amd64 ppc sparc x86&quot;</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>beandog@gentoo.org</who>
            <bug_when>2007-04-30 13:42:35 0000</bug_when>
            <thetext>amd64 stable</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>maekke@gentoo.org</who>
            <bug_when>2007-05-01 10:06:39 0000</bug_when>
            <thetext>net-firewall/ipsec-tools-0.6.7  USE=&quot;hybrid idea ipv6 kerberos ldap nat pam rc5 readline (-selinux)&quot;
1. emerges on x86
2. passes collision test

Portage 2.1.2.2 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.5-r0, 2.6.20.10 i686)
=================================================================
System uname: 2.6.20.10 i686 Genuine Intel(R) CPU           T2300  @ 1.66GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Tue, 01 May 2007 09:00:09 +0000
dev-java/java-config: 1.3.7, 2.0.31-r5
dev-lang/python:     2.3.5-r3, 2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.15-r1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS=&quot;x86&quot;
AUTOCLEAN=&quot;yes&quot;
CBUILD=&quot;i686-pc-linux-gnu&quot;
CFLAGS=&quot;-O2 -march=prescott -pipe -fomit-frame-pointer&quot;
CHOST=&quot;i686-pc-linux-gnu&quot;
CONFIG_PROTECT=&quot;/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config&quot;
CONFIG_PROTECT_MASK=&quot;/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c&quot;
CXXFLAGS=&quot;-O2 -march=prescott -pipe -fomit-frame-pointer&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
EMERGE_DEFAULT_OPTS=&quot;--nospinner&quot;
FEATURES=&quot;collision-protect distlocks metadata-transfer parallel-fetch sandbox sfperms strict test userfetch userpriv usersandbox&quot;
GENTOO_MIRRORS=&quot;http://mirror.switch.ch/mirror/gentoo/ http://gentoo.inode.at/&quot;
LINGUAS=&quot;en de en_GB de_CH&quot;
MAKEOPTS=&quot;-j3&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_RSYNC_OPTS=&quot;--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
SYNC=&quot;rsync://rsync.gentoo.org/gentoo-portage&quot;
USE=&quot;X a52 aac acpi alsa apache2 asf berkdb bitmap-fonts cairo cdr cdrom cli cracklib crypt cups dbus divx dri dts dvd dvdr dvdread eds emboss encode fam ffmpeg firefox flac fortran gdbm gif gnome gpm gstreamer gtk hal iconv ipv6 isdnlog java jpeg kde kdeenablefinal ldap libg++ mad midi mikmod mmx mono mp3 mpeg ncurses nls nptl nptlonly ogg opengl oss pam pcre perl png ppds pppd python qt3 qt4 quicktime readline reflection rtsp ruby samba sdl session smp spell spl sse sse2 sse3 ssl svg tcpd test tetex theora threads truetype truetype-fonts type1-fonts unicode vcd vorbis wifi win32codecs wxwindows x264 x86 xine xml xorg xprint xv xvid zlib&quot; ELIBC=&quot;glibc&quot; INPUT_DEVICES=&quot;keyboard mouse&quot; KERNEL=&quot;linux&quot; LINGUAS=&quot;en de en_GB de_CH&quot; USERLAND=&quot;GNU&quot; VIDEO_CARDS=&quot;i810 fbdev vesa&quot;
Unset:  CTARGET, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>maekke@gentoo.org</who>
            <bug_when>2007-05-01 10:14:55 0000</bug_when>
            <thetext>(In reply to comment #13)
&gt; net-firewall/ipsec-tools-0.6.7  USE=&quot;hybrid idea ipv6 kerberos ldap nat pam rc5
&gt; readline (-selinux)&quot;
&gt; 1. emerges on x86
&gt; 2. passes collision test

3. passes test suite, sorry for the bugspam...</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>armin76@gentoo.org</who>
            <bug_when>2007-05-01 11:28:23 0000</bug_when>
            <thetext>x86 stable, thanks Markus.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gustavoz@gentoo.org</who>
            <bug_when>2007-05-02 13:42:28 0000</bug_when>
            <thetext>sparc stable.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>dertobi123@gentoo.org</who>
            <bug_when>2007-05-03 18:39:55 0000</bug_when>
            <thetext>ppc stable, ready for GLSA voting.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>py@gentoo.org</who>
            <bug_when>2007-05-03 18:44:20 0000</bug_when>
            <thetext>/vote YES.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jaervosz@gentoo.org</who>
            <bug_when>2007-05-03 18:53:29 0000</bug_when>
            <thetext>Voting YES, let&apos;s have a GLSA.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>falco@gentoo.org</who>
            <bug_when>2007-05-08 20:05:37 0000</bug_when>
            <thetext>that was GLSA 200705-09, thanks everybody</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115370</attachid>
            <date>2007-04-03 14:55 0000</date>
            <desc>patch-racoon-isakmp_inf.c-recv</desc>
            <filename>patch-racoon-isakmp_inf.c-recv</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IHNyYy9yYWNvb24vaXNha21wX2luZi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNy
b290L2lwc2VjLXRvb2xzL2lwc2VjLXRvb2xzL3NyYy9yYWNvb24vaXNha21wX2luZi5jLHYKcmV0
cmlldmluZyByZXZpc2lvbiAxLjE0LjQuOQpkaWZmIC11IC1wIC1yMS4xNC40LjkgaXNha21wX2lu
Zi5jCi0tLSBzcmMvcmFjb29uL2lzYWttcF9pbmYuYwkyIEF1ZyAyMDA1IDE1OjA5OjI2IC0wMDAw
CTEuMTQuNC45CisrKyBzcmMvcmFjb29uL2lzYWttcF9pbmYuYwkyIEFwciAyMDA3IDEyOjUyOjA3
IC0wMDAwCkBAIC0yNjcsMTIgKzI2NywxMiBAQCBpc2FrbXBfaW5mb19yZWN2KGlwaDEsIG1zZzAp
CiAKIAlzd2l0Y2ggKG5wKSB7CiAJY2FzZSBJU0FLTVBfTlBUWVBFX046Ci0JCWlmIChpc2FrbXBf
aW5mb19yZWN2X24oaXBoMSwgbXNnKSA8IDApCi0JCQlnb3RvIGVuZDsKKwkJaWYgKCBlbmNyeXB0
ZWQgKQorCQkJaXNha21wX2luZm9fcmVjdl9uKGlwaDEsIG1zZyk7CiAJCWJyZWFrOwogCWNhc2Ug
SVNBS01QX05QVFlQRV9EOgotCQlpZiAoaXNha21wX2luZm9fcmVjdl9kKGlwaDEsIG1zZykgPCAw
KQotCQkJZ290byBlbmQ7CisJCWlmICggZW5jcnlwdGVkICkKKwkJCWlzYWttcF9pbmZvX3JlY3Zf
ZChpcGgxLCBtc2cpOwogCQlicmVhazsKIAljYXNlIElTQUtNUF9OUFRZUEVfTk9OQ0U6CiAJCS8q
IFhYWCB0byBiZSA2LjQuMiBpa2UtMDEudHh0ICovCg==
</data>        

          </attachment>
    </bug>

</bugzilla>