Linux kernel ebtables SNAT exploited, root (CVE-2026-53266)
CVE-2026-53266
CVE-2026-53266: Linux kernel ebtables SNAT writes attacker MACs into splice-backed pages, enabling local root escalation. Apply your distro kernel update now.
Actively exploited in the wild - CVE-2026-53266 is a high-severity local privilege escalation in the Linux kernel netfilter bridge ebtables SNAT target that grants a low-privileged attacker unauthorized writes into page cache and escalates to root. Kernel fixes are merged upstream; update your distribution kernel package immediately.
Overview
The ebtables SNAT target rewrites the Ethernet source address on packets crossing a Linux bridge. Alongside the MAC rewrite it can optionally rewrite the ARP sender hardware address. That ARP write goes through skb_store_bits() at an offset relative to skb->data, but the code never verified that the destination range in the socket buffer was actually writable.
Reading the ARP header safely via skb_header_pointer() is not the same as making the sender hardware address range writable. When that range still sits in a nonlinear skb fragment backed by a splice-imported file page, skb_store_bits() maps the fragment page and copies the attacker-supplied MAC address straight into it. The result is a write into memory the caller was never supposed to touch.
Impact
An attacker with a local account and the ability to route traffic through a bridge with an ebtables SNAT rule can corrupt page-cache contents tied to files previously spliced into a socket. Because the written bytes are attacker-influenced but partly constrained, this is best treated as a memory-corruption primitive: expect privilege escalation to root, container escape on hosts sharing the page cache, and integrity loss for cached file data.
The CVSS vector is AV:L/AC:L/PR:L/UI:N for a base score of 8.8. Local access is required, but no user interaction and no elevated privileges beyond a normal login. CISA has added this to the Known Exploited Vulnerabilities catalog, so exploitation against unpatched systems should be assumed to be happening now. The EPSS score remains low at 0.1%, which reflects that this is a targeted local attack rather than a wormable remote one.
Remediation
Update to the kernel build your distribution shipped with the fix for CVE-2026-53266. The upstream patch makes the ARP sender hardware address range writable before the header is read and before skb_store_bits() is called. Reboot after upgrading; live kernel patching will not reliably cover netfilter bridge paths already loaded.
If you cannot patch immediately:
- Remove or disable ebtables SNAT rules that perform ARP sender hardware address rewrites on bridges exposed to untrusted local workloads.
- Restrict local shell access and container workload placement on bridge hosts until kernels are updated.
- Monitor for unusual page-cache writes or crashes in bridge SNAT paths as a compromise signal.
Security Insight
Netfilter bridge code has repeatedly produced local privilege escalation because it mixes safe header reads with unsafe payload writes - the same class of mistake that produced earlier bridge and packet-socket issues. What stands out here is how little the exploit needs: one splice-imported page and a MAC-length write. That minimalism is a reminder that page-cache write primitives are now the preferred bridge from a normal local account to root. For defenders, the priority is not the EPSS number but the KEV listing: track CVE-2026-53266 against your kernel inventory, alongside recent additions like the Linux root bug CVE-2026-31431 and the CrackArmor AppArmor escalation flaws, and treat kernel patch latency on bridge hosts as measurable exposure.
Further Reading
Never miss a critical vulnerability
Get real-time security alerts delivered to your preferred platform.
Am I Affected by CVE-2026-53266?
Pick an ecosystem, paste your installed version, and we'll compare it against the fixed version published on OSV.dev. Browser-only — nothing is sent to a server.
Heuristic comparison only. Always cross-check against the vendor advisory before making patching decisions.
Related Advisories
Out of bounds write in Skia in Google Chrome prior to 146.0.7680.75 allowed a remote attacker to perform out of bounds memory access via a crafted HTML page. (Chromium security severity: High)...
An out-of-bounds (OOB) memory write flaw was found in the Linux kernel’s watch_queue event notification subsystem. This flaw can overwrite parts of the kernel state, potentially allowing a local user ...
In the Linux kernel, the following vulnerability has been resolved: ipv6: account for fraggap on the paged allocation path In __ip6_append_data(), when the paged-allocation branch is taken (MSG_MORE...
In the Linux kernel, the following vulnerability has been resolved: crypto: af_alg - Disallow concurrent writes in af_alg_sendmsg Issuing two writes to the same af_alg socket is bogus as the data wi...
Other Linux Kernel Vulnerabilities
In the Linux kernel, the following vulnerability has been resolved: ipv6: account for fraggap on the paged allocation path In __ip6_append_data(), when the paged-allocation branch is taken (MSG_MORE...
Out of bounds read and write in V8 in Google Chrome prior to 149.0.7827.103 allowed a remote attacker to execute arbitrary code inside a sandbox via a crafted HTML page. (Chromium security severity: H...
Integer overflow in Blink in Google Chrome prior to 148.0.7778.96 allowed a remote attacker to potentially exploit heap corruption via a crafted HTML page. (Chromium security severity: Critical)...
Use after free in Chromoting in Google Chrome on Linux prior to 148.0.7778.96 allowed a remote attacker to execute arbitrary code via malicious network traffic. (Chromium security severity: Critical)...