Wireshark-bugs: [Wireshark-bugs] [Bug 12340] New: Integer overflow in packet-gsm_a_common.c
Date: Fri, 15 Apr 2016 17:02:15 +0000
Bug ID 12340
Summary Integer overflow in packet-gsm_a_common.c
Product Wireshark
Version 1.12.8
Hardware x86
OS All
Status UNCONFIRMED
Severity Major
Priority Low
Component Dissection engine (libwireshark)
Assignee bugzilla-admin@wireshark.org
Reporter c.benedict@prometheuscomputing.com

Created attachment 14485 [details]
Test case generated by AFL

Build Information:
TShark 1.12.8 (v1.12.8-0-g5b6e543 from (HEAD)

Copyright 1998-2015 Gerald Combs <gerald@wireshark.org> 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 (64-bit) with GLib 2.46.2, with libpcap, with libz 1.2.8, with POSIX
capabilities (Linux), with libnl 3, without SMI, with c-ares 1.10.0, without
Lua, without Python, with GnuTLS 3.4.9, with Gcrypt 1.6.5, with MIT Kerberos,
without GeoIP.

Running on Linux 4.4.5-1-ARCH, with locale en_US.utf8, with libpcap version
1.7.4, with libz 1.2.8.
       Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz

Built using clang 4.2.1 Compatible Clang 3.7.1 (tags/RELEASE_371/final).
--
AFL (http://lcamtuf.coredump.cx/afl/) has uncovered an integer overflow in
packet-gsm_a_common.c line 2294:

        proto_tree_add_string_format(tree,
            hf_gsm_a_imei,
            tvb, curr_offset, len - (curr_offset - offset),
            a_bigbuf,
            "BCD Digits: %s",
            a_bigbuf);

When len is set to 0, the result is a negative number which is passed to
proto_tree_add_string_format() as a signed integer (gint). This appears to
cause a buffer overflow in the heap which in this sample causes a crash while
tshark is cleaning the session after the dissection is complete.


You are receiving this mail because:
  • You are watching all bug changes.