Skip to main content

libpcap CVE-2026-0799

| EUVDEUVD-2026-72015 HIGH
Improper Validation of Array Index (CWE-129)
2026-09-05 Tcpdump GHSA-w3r6-8g24-54m5
8.7
CVSS 3.1 · Vendor: Tcpdump
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain local low-privilege shell
  2. Delivery
    Identify application accepting user-supplied BPF filters
  3. Exploit
    Craft BPF filter with k ≥ 16 in LD/ST M[] instruction
  4. Install
    Submit filter to libpcap interpreter
  5. C2
    Trigger OOB stack memory write
  6. Execute
    Corrupt adjacent stack frames or function pointers
  7. Impact
    Achieve code execution in target process context

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Array index validation
Exploitation Conditions

The attacker must have local system access with at least low-privileged credentials (CVSS PR:L, AV:L) and must be able to supply a crafted BPF filter program to the libpcap interpreter - either directly (by calling pcap_setfilter/bpf_validate with attacker-controlled instruction streams) or indirectly (via an application that compiles user-supplied filter strings and passes them to the BPF interpreter). The description notes 'uncommon use cases,' meaning standard libpcap deployments with internally generated, trusted filter programs are not directly exposed. Exploitation is limited to: the libpcap user-space interpreter code path (not kernel BPF); 64-bit systems (where the OOB range is 16GiB from the stack frame, making targeted writes harder) or 32-bit systems (entire address space reachable, easier to target specific structures); and any application that passes untrusted filter programs to libpcap without pre-validating BPF instruction k fields. No network-facing or authentication-free exploitation path exists from the data provided.

Impact

The CVSS 8.7 (AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:H) accurately reflects that exploitation requires only local access and low privileges but grants scope-changing memory write (I:H) and crash (A:H) capability. The C:L metric covers the 64-bit OOB read case; on 32-bit the read exposure is effectively C:H, which the CVSS underscores. EPSS data is not provided in the input, leaving exploitation probability unknown. No CISA KEV listing and no public exploit exist at time of analysis, so real-world exploitation is not confirmed. The AV:L constraint substantially limits internet-scale exploitation - only attackers who can supply a crafted BPF filter program to the interpreter are at risk, which is most realistic in applications that expose pcap filter construction to unprivileged local users or over IPC. The description's phrase 'uncommon use cases' suggests typical libpcap deployments with trusted filter programs are not immediately exposed, but network monitoring daemons and security tools accepting user-supplied filters could be prime targets.

Exploit ScenarioDerived

A local user with low privileges on a system running a network monitoring daemon (e.g., a custom tcpdump-based logger accepting filter expressions over a Unix socket) submits a crafted BPF filter program specifying a scratch-register index far exceeding 15. The libpcap interpreter dereferences M[k] without bounds checking, writing attacker-controlled values into stack memory up to 16GiB past the M[] array on a 64-bit host, corrupting adjacent stack frames or heap structures and potentially achieving code execution within the daemon's privilege context.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 05, 2026

Unvalidated BPF scratch-register array index in libpcap's user-space BPF interpreter allows a local attacker with low privileges to craft a filter program that reads or writes OS process memory beyond the intended 16-entry M[] scratch array. On 64-bit architectures the accessible range is up to 16GiB starting at the current stack frame; on 32-bit architectures the entire process address space is reachable. The Tcpdump Group has issued a fix (commit 48e8960a) that adds bounds checks before every M[] access, rejecting filters referencing register index ≥ BPF_MEMWORDS (16). No public exploit or CISA KEV listing is identified at time of analysis.

RemediationAI

Upgrade to a build of libpcap that incorporates commit 48e8960a7108e9e828f9d7bdc7e97bdab841aec7 (https://github.com/the-tcpdump-group/libpcap/commit/48e8960a7108e9e828f9d7bdc7e97bdab841aec7), which adds bounds validation before all M[] scratch-register accesses in bpf_filter.c. A formal tagged release version containing this fix is not independently confirmed from the input data - distribution maintainers should track upstream for the next release. As a compensating control where patching is not immediately possible, restrict which users or processes can supply BPF filter programs (e.g., only allow pre-validated, trusted filter strings compiled by the application itself rather than from user input); this eliminates the attacker's ability to inject a crafted filter but may limit packet-filtering flexibility. On Linux systems using kernel-side BPF via AF_PACKET sockets with SO_ATTACH_FILTER, the kernel's own BPF verifier validates register indices independently - the libpcap user-space interpreter is only exercised on platforms or codepaths that fall back to software filtering.

Affected VersionsENISA

libpcap 0 <1.10.7

Affected Packages

euvd libpcap fix: 1.10.7

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

libpcap (cpe:2.3:a:the_tcpdump_group:libpcap:*:*:*:*:*:*:*:*) implements a portable user-space BPF interpreter used by tcpdump, Wireshark, Snort, Suricata, and virtually every packet-capture application. BPF LD/ST instructions operate on a scratch memory array M[] with BPF_MEMWORDS=16 entries, indexed by the unsigned 32-bit k field of each BPF instruction. Because libpcap never validated that k < BPF_MEMWORDS before dereferencing M[k], a filter specifying k=2^32-1 causes the interpreter to dereference stack memory at an offset of ~16GiB past the array on 64-bit systems, or wrap into arbitrary address space on 32-bit systems. CWE-129 (Improper Validation of Array Index) is the exact root cause. The fix adds four guard checks (if (pc->k >= BPF_MEMWORDS) return 0;) covering all LD/ST M[] code paths in bpf_filter.c.

Know when Libpcap gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Tcpdump) PRIMARY 8.7 HIGH
AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:H
vuln.today AI 8.7 HIGH

Local attacker supplying a crafted filter program; scope change reflects OOB write beyond BPF sandbox into host process memory; C:L because 64-bit OOB read is large but bounded by stack layout.

3.1 AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Red Hat 8.7 HIGH

Primary rating from Vendor (Tcpdump).

CVSS VectorVendor: Tcpdump

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
High
Availability
High

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

Libpcap, the packet capture library powering tcpdump and other network monitoring tools, contains a local memory-access vulnerability (CVSS 8.7) that allows low-privilege attackers to read or write arbitrary process memory on affected systems. Organizations operating packet capture infrastructure for threat detection or forensics face risk of sensitive data exfiltration or system compromise in multi-tenant or shared-access environments.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
High
foundational packet-capture library in tcpdump, Wireshark, Snort, Suricata
Social Media
2
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2026-6554 HIGH
7.5 Sep 05

Denial of service in libpcap before 1.10.7 allows an unauthenticated remote attacker to hang the offline BPF filter inte

CVE-2019-15163 HIGH
7.5 Oct 03

rpcapd/daemon.c in libpcap before 1.9.1 allows attackers to cause a denial of service (NULL pointer dereference and daem

CVE-2026-6244 MEDIUM
5.5 Sep 05

Division by zero in libpcap's BPF interpreter can crash any application using the library when processing a crafted filt

CVE-2026-31911 MEDIUM
5.5 Sep 05

Process termination via crafted BPF filter in libpcap allows a local attacker with low privileges to crash any applicati

CVE-2026-31912 MEDIUM
5.5 Sep 05

Out-of-bounds memory reads in libpcap's userland BPF interpreter allow a local attacker who can supply a crafted filter

CVE-2019-15165 MEDIUM
5.3 Oct 03

sf-pcapng.c in libpcap before 1.9.1 does not properly validate the PHB header length before allocating memory. Rated med

CVE-2019-15164 MEDIUM
5.3 Oct 03

rpcapd/daemon.c in libpcap before 1.9.1 allows SSRF because a URL may be provided as a capture source. Rated medium seve

CVE-2019-15162 MEDIUM
5.3 Oct 03

rpcapd/daemon.c in libpcap before 1.9.1 on non-Windows platforms provides details about why authentication failed, which

CVE-2019-15161 MEDIUM
5.3 Oct 03

rpcapd/daemon.c in libpcap before 1.9.1 mishandles certain length values because of reuse of a variable. Rated medium se

CVE-2026-18238 MEDIUM
5.0 Sep 05

Remote memory disclosure in libpcap's rpcap client allows a malicious or compromised rpcap server to cause a connected c

CVE-2024-8006 MEDIUM
4.4 Aug 31

Remote packet capture support is disabled by default in libpcap. Rated medium severity (CVSS 4.4), this vulnerability is

CVE-2026-18313 MEDIUM
4.3 Sep 05

Memory exhaustion in libpcap's rpcapd remote capture daemon allows an authenticated remote client to degrade or crash th

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 12 Affected
SUSE Linux Enterprise Micro 5.3 Affected
SUSE Linux Enterprise Micro 5.4 Affected
SUSE Linux Enterprise Micro 5.5 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy