CVE-2026-0799

Summary

In BPF instructions that load/store a value from/to a scratch memory register the register index is an unsigned 32-bit integer and must not exceed 15, but libpcap BPF interpreter does not validate the value. In particular uncommon use cases a crafted filter program can cause the interpreter to try reading and writing the OS process memory in the 16GiB starting at the current stack frame on 64-bit architectures and in the entire address space on 32-bit architectures.

Affected Software

VendorProductVersion RangeStatus
The Tcpdump Grouplibpcap0 < 1.10.7affected

Weaknesses

  • CWE-129: CWE-129 Improper Validation of Array Index
  • CWE-125: CWE-125 Out-of-bounds Read
  • CWE-787: CWE-787 Out-of-bounds Write

Workarounds

Validate every filter program that has not been produced by a local call to pcap_compile().

References