Description
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.
Published: 2026-09-05
Score: 8.7 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The libpcap BPF interpreter accepts a 32‑bit scratch register index without bounds checking. When a crafted filter program uses an out‑of‑range index, the interpreter reads or writes data at addresses far beyond the intended 16‑GiB range for 64‑bit architectures or the entire address space for 32‑bit systems. This results in an out‑of‑bounds read (OOBR) or write (OOBW) that can expose or corrupt memory of the host process, potentially leading to arbitrary code execution or data exfiltration. The flaw maps to CWE‑125, CWE‑129 and CWE‑787.

Affected Systems

All releases of libpcap from the Tcpdump Group before version 1.10.7 are affected. The vulnerability is in the BPF interpreter component used by tcpdump, wireshark and any application that links with libpcap for packet filtering.

Risk and Exploitability

The CVSS score of 8.7 indicates high severity, and the EPSS score is not available, so the exploitation probability is unclear. The flaw is not listed in the CISA KEV catalog. The vulnerability runs with the privileges of the calling process, so the most likely attack vector is a locally‑deployed malicious filter program supplied by an attacker who can influence the filter passed to libpcap. In privileged contexts, the memory overwrite could lead to privilege escalation or data theft, making this a critical risk for systems that load untrusted filter programs or run libpcap as root.

Generated by OpenCVE AI on September 5, 2026 at 20:22 UTC.

Remediation

Vendor Solution

Upgrade to libpcap 1.10.7.


Vendor Workaround

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


OpenCVE Recommended Actions

  • Upgrade libpcap to version 1.10.7 or later.
  • Validate any filter program that is not produced by a local call to pcap_compile() before passing it to libpcap, ensuring the scratch register index does not exceed 15.
  • Restrict the use of libpcap BPF interfaces to trusted processes or run packet‑filtering services with the least privilege to limit the impact if an attacker succeeds.

Generated by OpenCVE AI on September 5, 2026 at 20:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 05 Sep 2026 19:00:00 +0000

Type Values Removed Values Added
Description 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.
Title OOBR and OOBW in libpcap before 1.10.7
Weaknesses CWE-125
CWE-129
CWE-787
References
Metrics cvssV3_1

{'score': 8.7, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Tcpdump

Published:

Updated: 2026-09-05T18:48:39.126Z

Reserved: 2026-01-08T23:19:31.855Z

Link: CVE-2026-0799

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-05T19:16:55.320

Modified: 2026-09-05T19:16:55.320

Link: CVE-2026-0799

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-05T20:30:17Z

Weaknesses