VYPR
Unrated severityNVD Advisory· Published Oct 3, 2019· Updated Dec 3, 2025

CVE-2018-16451

CVE-2018-16451

Description

Buffer over-read in tcpdump's SMB parser before 4.9.3 allows information disclosure or denial of service via crafted SMB packets.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Buffer over-read in tcpdump's SMB parser before 4.9.3 allows information disclosure or denial of service via crafted SMB packets.

Vulnerability

The SMB parser in tcpdump before version 4.9.3 contains buffer over-reads in the print_trans() function in print-smb.c. This occurs when processing crafted SMB packets for the named pipes \MAILSLOT\BROWSE and \PIPE\LANMAN. The over-read can be triggered by capturing or analyzing malicious network traffic or a crafted packet capture file using the vulnerable tcpdump binary.

Exploitation

An attacker does not require authentication or any special network position to exploit this vulnerability. By injecting a specially crafted SMB packet into network traffic that a victim monitors with tcpdump, or by supplying a malicious packet capture file for offline analysis, the attacker can trigger the buffer over-read. No user interaction beyond running tcpdump on the affected data is required.

Impact

Successful exploitation could lead to information disclosure (reading beyond the bounds of the intended buffer, potentially leaking sensitive memory contents) or denial of service via application crash. In some scenarios, the over-read may be leveraged for arbitrary code execution, as noted in the Debian security advisory [4].

Mitigation

The vulnerability is fixed in tcpdump 4.9.3 [4]. Debian has released updated packages for the oldstable (stretch) and stable (buster) distributions under DSA-4547-1 [4]. Users should upgrade to tcpdump version 4.9.3 or later. No workarounds are available; the only remedy is to apply the update.

AI Insight generated on May 25, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected products

11

Patches

0

No patches discovered yet.

Vulnerability mechanics

Root cause

"Missing bounds checks before strcmp() calls in the SMB parser allow buffer over-reads."

Attack vector

An attacker crafts a malicious SMB packet with a `bcc` (byte count) field that is non-zero but whose actual payload is shorter than the string constants `"\\MAILSLOT\\BROWSE"` or `"\\PIPE\\LANMAN"`. When tcpdump's SMB parser reaches `print_trans()`, it calls `strcmp()` on `data1 + 2` without a prior bounds check, causing the function to read past the allocated buffer. This can lead to a crash or information disclosure when tcpdump processes the crafted packet [ref_id=1].

Affected code

The vulnerability resides in `print-smb.c` in the `print_trans()` function. The code performs `strcmp()` comparisons against the strings `"\\MAILSLOT\\BROWSE"` and `"\\PIPE\\LANMAN"` without first verifying that the input buffer `data1 + 2` contains at least as many bytes as those string constants, leading to a buffer over-read [ref_id=1].

What the fix does

The patch adds `ND_TCHECK2()` calls before each `strcmp()` to ensure the buffer contains at least `strlen(MAILSLOT_BROWSE_STR) + 1` and `strlen(PIPE_LANMAN_STR) + 1` bytes respectively. If the bounds check fails, `ND_TCHECK2` triggers an exception that safely aborts parsing rather than allowing an over-read. The string constants are also defined as macros to avoid duplication [ref_id=1].

Preconditions

  • networkThe attacker must be able to send or inject a crafted SMB packet onto a network that tcpdump is monitoring.
  • configThe target must be running a version of tcpdump prior to 4.9.3.
  • inputThe crafted packet must have a non-zero bcc field but a payload shorter than the compared string constants.

Generated on May 27, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

16

News mentions

0

No linked articles in our index yet.