Wireshark-bugs: [Wireshark-bugs] [Bug 4693] New: SSH Key Exchange Init parsed incorrectly when i

Date: Sun, 18 Apr 2010 19:49:23 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4693

           Summary: SSH Key Exchange Init parsed incorrectly when it spans
                    TCP segments
           Product: Wireshark
           Version: 1.3.x (Experimental)
          Platform: Other
        OS/Version: Windows XP
            Status: NEW
          Severity: Normal
          Priority: Low
         Component: Wireshark
        AssignedTo: wireshark-bugs@xxxxxxxxxxxxx
        ReportedBy: cat@xxxxxxxxxxxxxx


Created an attachment (id=4537)
 --> (https://bugs.wireshark.org/bugzilla/attachment.cgi?id=4537)
Capture of unsegmented KEX Init packet

Build Information:
Version 1.3.1 (SVN Rev 30724 from /trunk)

Copyright 1998-2009 Gerald Combs <gerald@xxxxxxxxxxxxx> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled with GTK+ 2.16.6, with GLib 2.22.2, with WinPcap (version unknown),
with libz 1.2.3, without POSIX capabilities, with libpcre 7.0, with SMI 0.4.8,
with c-ares 1.6.0, with Lua 5.1, without Python, with GnuTLS 2.8.1, with Gcrypt
1.4.4, with MIT Kerberos, with GeoIP, with PortAudio V19-devel (built Oct 26
2009), with AirPcap, with new_packet_list.

Running on Windows XP Service Pack 3, build 2600, with WinPcap version 4.1.1
(packet.dll version 4.1.0.1753), based on libpcap version 1.0 branch 1_0_rel0b
(20091008), GnuTLS 2.8.1, Gcrypt 1.4.4, without AirPcap.

Built using Microsoft Visual C++ 9.0 build 30729
--
When the KEX Init packet is contained in a single TCP segment
(ssh_kexinit_unsegmented.pcap), the packet is dissected properly and I get a
list of Algorithms:
SSH Protocol
    SSH Version 2 (encryption:aes128-cbc mac:hmac-md5 compression:none)
        Packet Length: 788
        Padding Length: 8
        Key Exchange
            Msg code: Key Exchange Init (20)
            Algorithms
                Cookie: 6EC1058788A1DB94EB1C7C250D25133F
                kex_algorithms length: 126
                kex_algorithms string:
diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
                server_host_key_algorithms length: 15
                server_host_key_algorithms string: ssh-rsa,ssh-dss
[...]

When the KEX Init packet is split between two TCP packets
(ssh_kexinit_segmented.pcap, in this case 512+104 bytes), the first packet is
not dissected and the second is dissected incorrectly:
SSH Protocol
    SSH Version 2

SSH Protocol
    SSH Version 2
        Packet Length: 612
        Padding Length: 10
        Key Exchange
            Msg code: Key Exchange Init (20)
            Payload: 0DFE4E88DBB0C8CCC8BF08C8D39863A20000007E64696666...
            Padding String: A4C45AD5CA3E834030A4

Expected behaviour is that the packet is dissected similarly in the segmented
case.

-- 
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.