The command-line argument parser in tcpdump before 4.9.3 has a buffer overflow in tcpdump.c:get_next_file().
Created tcpdump tracking bugs for this issue:
Affects: fedora-all [bug 1760626]
tcpdump provides the `V` flag when you want to provide a list of filenames to use, either by stdin or by reading the content of a file. The attack scenario for this flaw is an attacker who tricks a victim user into executing `tcpdump -V` on a malicious file with a NULL byte as a first byte. This would make the program read one byte before the expected stack-allocated buffer and potentially write back a NULL byte in that same position.
This could cause other effects and potentially execute code on the victim' system.
Given what said in comment 2:
- AV:L: the attack would be Local because the user should download the malicious file first and then run `tcpdump -V` on it
- UI:R: it is necessary that the victim user runs the program himself, an attacker cannot perform the attack without him doing something
- C:H/I:H/A:H: an out-of-bounds read+write on the stack could potentially lead to code execution
- AC:H: the complexity is High as the attacker cannot directly influence what's written outside the buffer and he would need anyway to bypass security measures as ASLR, at least (not assuming data-only attacks).
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):
This issue has been addressed in the following products:
Red Hat Enterprise Linux 8
Via RHSA-2020:4760 https://access.redhat.com/errata/RHSA-2020:4760