HIGH 8.8

CVE-2026-53266: Linux Kernel ebtables ARP SNAT Memory Corruption Vulnerability

A vulnerability exists in the Linux kernel's network filtering bridge module where the SNAT (Source Network Address Translation) target fails to properly protect memory when rewriting ARP (Address Resolution Protocol) sender hardware addresses. The issue occurs when packet data is stored in non-contiguous memory fragments—particularly those backed by memory-mapped file pages. An attacker with local access could exploit this to write arbitrary data into kernel memory, potentially leading to privilege escalation or system compromise.

Source data · NVD / CISA · public domain

CVSS
3.1 · 8.8 HIGH · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Weaknesses (CWE)
Affected products
7 configuration(s)
Published / Modified
2026-06-25 / 2026-07-08

NVD description (verbatim)

In the Linux kernel, the following vulnerability has been resolved: netfilter: bridge: make ebt_snat ARP rewrite writable The ebtables SNAT target keeps the Ethernet source address rewrite behind skb_ensure_writable(skb, 0). This is intentional: at the bridge ebtables hooks the Ethernet header is addressed through skb_mac_header()/eth_hdr(), while skb->data points at the Ethernet payload. Asking skb_ensure_writable() for ETH_HLEN bytes would check the payload, not the Ethernet header, and would reintroduce the small packet regression fixed by commit 63137bc5882a. However, the optional ARP sender hardware address rewrite is different. It writes through skb_store_bits() at an offset relative to skb->data: skb_store_bits(skb, sizeof(struct arphdr), info->mac, ETH_ALEN) skb_header_pointer() only safely reads the ARP header; it does not make the later sender hardware address range writable. If that range is still held in a nonlinear skb fragment backed by a splice-imported file page, skb_store_bits() maps the frag page and copies the new MAC address directly into it. Ensure the ARP SHA range is writable before reading the ARP header and before calling skb_store_bits().

8 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

CVE-2026-53266 affects the ebtables SNAT implementation in the Linux kernel's netfilter bridge code. The vulnerability stems from incomplete writability checks when handling ARP sender hardware address (SHA) rewrites. While Ethernet source address rewrites use skb_ensure_writable(skb, 0) for intentional reasons (avoiding payload checks at bridge hooks), the optional ARP SHA rewrite path calls skb_store_bits() at a data-relative offset without first ensuring that memory range is writable. When the ARP frame data resides in a non-linear skb fragment backed by a splice-imported file page, skb_store_bits() directly maps and modifies that page in-place, creating a window for memory corruption. The fix requires calling skb_ensure_writable() to verify the ARP SHA range before both reading the ARP header and performing the store operation.

Business impact

Successful exploitation requires local system access and the ability to trigger ARP rewriting through bridge netfilter rules—a configuration typically found in network appliances, container environments, and virtualization hosts. Affected systems could experience kernel memory corruption leading to privilege escalation from an unprivileged local user to root, denial of service through kernel panic, or potential information disclosure. Organizations relying on Linux-based bridging or network virtualization for security isolation should treat this as a containment risk.

Affected systems

All Linux kernel versions incorporating the vulnerable ebtables SNAT code are affected. The vulnerability impacts systems running netfilter-enabled kernels with bridge support, including cloud hypervisors, container hosts, network appliances, and systems using iptables/ebtables for local firewalling. Embedded systems and IoT devices with bridging configurations may also be vulnerable depending on kernel vintage and configuration.

Exploitability

Exploitation requires local system access (CVE score reflects PR:L—low privilege context). The attacker must construct network conditions or leverage existing ebtables SNAT rules to trigger ARP rewriting on a packet whose payload resides in a non-linear, writable skb fragment. While not trivially weaponized, the conditions are achievable in shared hosting, container, or multi-tenant environments. No known public exploits exist at the time of publication, but the attack surface is well-defined and the memory corruption is deterministic.

Remediation

Apply kernel security updates from your Linux vendor as they become available. Verify against official vendor advisories for patched kernel versions specific to your distribution. As an interim mitigating control, disable bridge netfilter SNAT rules if operationally feasible, or restrict ebtables configuration to trusted administrators only. In container and cloud environments, enforce pod security policies and limit network namespace privileges to reduce attack surface.

Patch guidance

Contact your Linux distribution vendor (Red Hat, Canonical, SUSE, etc.) or monitor kernel.org for official patched versions. The upstream Linux kernel repository will carry fixes once merged; verify patch commit hashes against the official netfilter subsystem maintainers' branches. Apply patches during your standard change management window, prioritizing systems that combine bridge netfilter usage with untrusted user access. Test patches in staging environments first, particularly on network-critical systems.

Detection guidance

Monitor kernel logs (dmesg) for unhandled page faults, general protection faults, or BUG_ON() messages in the netfilter or skb_store_bits() code paths. Intrusion detection systems should flag local exploitation attempts through system call auditing (seccomp, auditd) focused on packet socket creation combined with ebtables manipulation. Network telemetry alone will not reveal this vulnerability; detection relies on kernel instrumentation and host-level observability. In container environments, monitor for unexpected process terminations or kernel panics coinciding with network rule changes.

Why prioritize this

CVSS 8.8 HIGH score reflects local but cross-privilege impact (S:C—scope changed). Prioritize patching for systems in multi-tenant, container, or virtualization environments where local privilege escalation poses significant operational risk. Single-user or well-isolated systems can tolerate longer patch cycles but should not be deprioritized indefinitely. The vulnerability is non-trivial to exploit but the consequences—kernel memory corruption—are severe.

Risk score, explained

The 8.8 CVSS score accounts for high confidentiality, integrity, and availability impact (C:H/I:H/A:H) achievable from a local unprivileged user context (PR:L). The changed scope (S:C) indicates the impact extends beyond the vulnerable component to other security functions. Attack vector local (AV:L) and no user interaction (UI:N) reflect the realistic attack surface. The score does not presume KEV status or active exploitation; it represents the intrinsic severity of successful exploitation.

Frequently asked questions

Does this affect my system if I don't use ebtables or bridge netfilter?

No. If bridge netfilter is disabled or ebtables is not in use, the vulnerable code path is not executed. However, some distributions or container runtimes enable it by default; verify your kernel configuration (grep BRIDGE_NF_EBTABLES /boot/config-*).

Can this be exploited remotely or only locally?

Only locally. The vulnerability requires an unprivileged local user or container process with the ability to send crafted network packets that trigger SNAT rewriting on a bridged interface. Remote attackers cannot directly trigger this without first obtaining local system access.

What is the difference between this and other ebtables vulnerabilities?

This vulnerability is specific to the ARP rewrite path and its lack of writability checks for non-linear skb fragments. Previous ebtables issues typically involved different attack vectors (e.g., rule parsing, information disclosure). The memory corruption here is deterministic if conditions are met.

Should I disable ebtables entirely to mitigate this?

Disabling ebtables is a valid mitigation if it is not critical to your operations (e.g., in appliances or network namespaces where bridging is not required). For systems that require bridge netfilter, applying patches is preferable to disabling functionality; consult your security policy and operational requirements.

This analysis is based on the published CVE record as of the stated modification date. CVSS scores, affected product lists, and patch availability are subject to change as vendors issue advisories. Always verify patch versions and applicability against official vendor documentation before deploying security updates. No exploit code or proof-of-concept is provided. Organizations should supplement this analysis with internal risk assessments specific to their infrastructure, configurations, and threat model. SEC.co and its authors assume no liability for damages resulting from reliance on this information without independent verification. Source: NVD (public-domain), retrieved 2026-08-03. Analysis generated by SEC.co (claude-haiku-4-5).