Wireshark-bugs: [Wireshark-bugs] [Bug 1582] New: SSL dissector can go into infinite loop
Date: Mon, 30 Apr 2007 04:11:44 +0000 (GMT)
http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1582 Summary: SSL dissector can go into infinite loop Product: Wireshark Version: 0.99.5 Platform: All OS/Version: All Status: NEW Severity: Normal Priority: Low Component: Wireshark AssignedTo: wireshark-bugs@xxxxxxxxxxxxx ReportedBy: Shaun.Voigt@xxxxxxxxxxxxxxxxxxx Build Information: Version 0.99.5 (SVN Rev 20677) Copyright 1998-2007 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.10.7, with GLib 2.12.7, with WinPcap (version unknown), with libz 1.2.3, with libpcre 6.4, with Net-SNMP 5.4, with ADNS, with Lua 5.1, with GnuTLS 1.6.1, with Gcrypt 1.2.3, with MIT Kerberos, with PortAudio PortAudio V19-devel, with AirPcap. Running on Windows XP Service Pack 2, build 2600, with WinPcap version 4.0 (packet.dll version 4.0.0.755), based on libpcap version 0.9.5, without AirPcap. Built using Microsoft Visual C++ 6.0 build 8804 Wireshark is Open Source Software released under the GNU General Public License. Check the man page and http://www.wireshark.org for more information. -- The SSL dissector can go into an infinite loop in epan/dissectors/packet-ssl.c in the function static void dissect_ssl3_hnd_cli_hello(xxx). In dissect_ssl3_hnd_cli_hello(xxx) an guint16 variable cipher_suite_length is set from the packet data. If the value read is odd, then an infinite loop results in the while loop starting with while(cipher_suite_length > 0) { ... cipher_suite_length -= 2; } This can be avoided by either adding a line after cipher_suite_length = tvb_get_ntohs(tvb,offset); to avoid odd values e.g. cipher_suite_length = cipher_suite_length & 0xFFFE; OR modify the while loop thus: while (cipher_suite_length > 1) { ... OR if cipher_suite_length is invalid for odd lengths then do something else. -- Configure bugmail: http://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.
- Prev by Date: [Wireshark-bugs] [Bug 1581] Problem with HTTP reassembly
- Next by Date: [Wireshark-bugs] [Bug 1579] Netflow Dissector - cannot decode v9 options - patch provided
- Previous by thread: [Wireshark-bugs] [Bug 1581] Problem with HTTP reassembly
- Index(es):
- Get Wireshark
- Download
- Code of Conduct