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.

Project Subscriptions

No data.

Advisories

No advisories yet.

Fixes

Solution

Upgrade to libpcap 1.10.7.


Workaround

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

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'}


Projects

Sign in to view the affected projects.

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