https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=16464

            Bug ID: 16464
           Summary: Signed Overflow in peekclassic_read_packet_v7
           Product: Wireshark
           Version: Git
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: Major
          Priority: Low
         Component: Capture file support (libwiretap)
          Assignee: bugzilla-ad...@wireshark.org
          Reporter: fabien.lheur...@trust-in-soft.com
  Target Milestone: ---

Created attachment 17700
  --> https://bugs.wireshark.org/bugzilla/attachment.cgi?id=17700&action=edit
This pcap file was generated by AFL and should allow to reproduce the issue

Build Information:
Paste the COMPLETE build information from "Help->About Wireshark", "wireshark
-v", or "tshark -v".
--
## Analysis Context

*The verification was performed with TrustInSoft Analyzer, a formal
static analyzer for C and C++.*

*The result is part of a larger security assessment performed by
TrustInSoft for* ***Naval Group***.

The analysis of wireshark was performed in the following environment:

----------------- ----------------------------------------------
Platform          Ubuntu Linux 18.04
Tool              TrustInSoft Analyzer, a formal static analyzer
Input Files       Fuzzing of 10 000 pcap file using AFL
Verification      Analysis of `process_cap_file` with the AFL corpus
------------- ----------------------------------------------

------------ ------------------- ---------------------- ----------------
Wireshark    version v2.6.16rc0  git commit dcd65a4012 
https://github.com/wireshark/wireshark.git
glib         version 2.62.6      git commit eb0f73a39  
https://github.com/GNOME/glib.git
libgcrypt    version 1.8.5       git commit ada758e3   
https://github.com/gpg/libgcrypt.git
libgpg-error version 1.37        git commit 85b5006    
https://github.com/gpg/libgpg-error.git
libpcap      version 1.9.1       git commit 1547215c   
https://github.com/the-tcpdump-group/libpcap.git
pcre         version 8.43-RC1    git commit 10e4adb    
https://github.com/svn2github/pcre.git
pcre2        version 10.10       git commit a677f5b    
https://github.com/luvit/pcre2.git
zlib         version 10.10       git commit a677f5b    
https://github.com/madler/zlib.git
------------ ------------------- ---------------------- ----------------

- valgrind is deactivated in glib
- PCRE library is deactivated in glib
- `cap_files_hashes` is deactivated in wireshark

## Signed Overflow in *peekclassic_read_packet_v7*

In the function `peekclassic_read_packet_v7`, there is a signed
overflow in the computation of `tsecs*1000000` when, for example,
`tsecs` is equal to `12973661848816`.

File: wireshark/wiretap/peekclassic.c

```c
tsecs = (time_t) (timestamp/1000000);
tusecs = (guint32) (timestamp - tsecs*1000000);
```

In the previous statement, there is an implicit conversion in
`timestamp / (guint64)1000000` because `timestamp` has the type
`guint64`, on the contrary to the statement where the overflow
happens, `tsecs` is of type `time_t` which is signed.

-- 
You are receiving this mail because:
You are watching all bug changes.
___________________________________________________________________________
Sent via:    Wireshark-bugs mailing list <wireshark-bugs@wireshark.org>
Archives:    https://www.wireshark.org/lists/wireshark-bugs
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-bugs
             mailto:wireshark-bugs-requ...@wireshark.org?subject=unsubscribe

Reply via email to