CVE-2026-31912 PUBLISHED

OOBR in libpcap before 1.10.7

Assigner: Tcpdump
Reserved: 10.03.2026 Published: 05.09.2026 Updated: 05.09.2026

libpcap BPF interpreter detects neither reaching the end of the filter program buffer due to lack of a return instruction nor executing a jump instruction with an offset that translates to a pointer outside of the buffer. In particular uncommon use cases a crafted filter program can cause the interpreter to try reading the OS process memory in the 32GiB around the buffer on 64-bit architectures and in the entire address space on 32-bit architectures.

Metrics

CVSS Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS Score: 5.5

Product Status

Vendor The Tcpdump Group
Product libpcap
Versions Default: unaffected
  • affected from 0 to 1.10.7 (excl.)

Affected Configurations

The problem is specific to applications that use pcap_offline_filter() or bpf_filter() with an externally-supplied compiled filter program without validating the program first.

Exploits

A functional exploit exists.

Solutions

Upgrade to libpcap 1.10.7 and migrate from bpf_filter() to pcap_offline_filter().

Credits

  • Denis Ovsienko finder

References

Problem Types

  • CWE-1285 Improper Validation of Specified Index, Position, or Offset in Input CWE
  • CWE-823 Use of Out-of-range Pointer Offset CWE
  • CWE-125 Out-of-bounds Read CWE