This tracker is no longer updated. Every maintained upstream stable line carries the fix, as do every Debian suite, Proxmox VE 9’s default kernel, every tracked NixOS ref, Rocky Linux / RHEL 10, 9 and 8, and all three Amazon Linux 2023 kernel streams. The remaining gaps are end-of-life kernels that will never be fixed — Proxmox VE 8 (upgrade to Proxmox VE 9) — and any host that has not rebooted onto a fixed kernel.

Summary

FieldDetail
CVE IDCVE-2026-53266
AliasNone — the kernel CNA record gives no nickname; CISA’s catalogue entry calls it Linux Kernel Out-of-Bounds Write Vulnerability
ComponentKernel: netfilter bridge — the ebtables snat target’s optional ARP sender-hardware-address rewrite in ebt_snat_tg() (net/bridge/netfilter/ebt_snat.c, module ebt_snat)
TypeIn-place packet write without a writability check (CWE-787). The ARP rewrite calls skb_store_bits() after only a read-side skb_header_pointer(), so the six new MAC bytes land in whatever page backs the ARP payload — including a shared, file-backed page that splice() imported into the socket buffer
ImpactA controlled write into page-cache / file-backed memory. The fix commit describes only the write; by analogy with Dirty Pipe, six chosen bytes in a readable file’s cached contents (a setuid binary, a PAM module) is a local privilege escalation primitive — the kernel CNA says it “can be leveraged toward privilege escalation or code execution”, Red Hat “potentially local privilege escalation” — and a stray write is a crash (DoS). CISA lists it as exploited in the wild. Not reachable by remote ARP traffic alone
Upstream fix67ba971ae025 (netfilter: bridge: make ebt_snat ARP rewrite writable), a three-line skb_ensure_writable() guard; first in v7.1-rc7 (tagged 2026-06-07) and backported to every maintained stable line in the 2026-06-19 point releases (7.0.13, 6.18.36, 6.12.94, 6.6.143, 6.1.176, 5.15.210, 5.10.259 — see the Linux kernel rows)
Introduced63137bc5882a (netfilter: ebtables: Fixes dropping of small packets in bridge nat) in v5.10 (released 2020-12-13; authored 2020-10-14) — the fix for bridge NAT dropping short frames moved the Ethernet-header check to skb_ensure_writable(skb, 0) and left the ARP rewrite with no writability check at all. That commit was also backported to 5.4.73, 5.8.17, and 5.9.2
Affected window5.10 through 7.0.12 (and 7.1 before -rc7), plus the 5.4.y, 5.8.y, and 5.9.y point releases from 5.4.73 / 5.8.17 / 5.9.2 on — all three lines long end-of-life. Fixed in v7.1-rc7 and, since 2026-06-19, in every maintained stable line (per-branch First fixed below). A distro kernel is vulnerable only if it has neither rebased onto a fixed release nor cherry-picked the fix
DiscovererYiming Qian (reported the bug and authored the fix, merged through the netfilter maintainers Florian Westphal and Pablo Neira Ayuso)
Public disclosure2026-06-25 (kernel CNA published the CVE); the fix had been public in mainline since 2026-06-07. Added to CISA KEV on 2026-09-18
Public PoCNone found. No public exploit code or write-up names this CVE; CISA’s KEV entry records in-the-wild exploitation without naming a campaign or attributing the report. See Public PoC below
KEV / EPSS / CVSSIn CISA KEV since 2026-09-18 (BOD 26-04 due date 2026-09-21; forensic triage required; SSVC Exploitation: active, Automatable: no, Technical impact: total). Kernel CNA: CVSS 3.1 8.8 HIGH (AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H) — the S:C is the page-cache write crossing out of the namespace; mirrored by NVD (status Analyzed, CWE-787). Red Hat: severity Important, scoring AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H (7.5). Ubuntu: priority High. EPSS 0.28% (20th percentile, 2026-09-19) — the score has not caught up with the KEV listing. See Scoring in the verification log
ReachabilityThree things at once: an ebtables snat rule with --snat-arp on a bridge, CAP_NET_ADMIN in the network namespace that owns that bridge (an unprivileged user gets that with unshare -Urn where unprivileged user namespaces are enabled; a container with NET_ADMIN has it directly), and a frame whose ARP payload sits in a splice-imported file page — which the attacker arranges locally, since ordinary received frames live in kernel-owned pages. ebt_snat is a module (CONFIG_BRIDGE_EBT_SNAT) autoloaded when such a rule is inserted, so “module not loaded” is no protection on its own. See Detection and Mitigation

⚠️ This is a June bug that CISA flagged in September. The fix has been in every maintained upstream line since 2026-06-19, and by late July every Debian suite, all three Amazon Linux 2023 kernel streams, RHEL 8 and 9 (so Rocky and AlmaLinux), and every tracked NixOS channel had shipped it; Proxmox VE 9 followed in August, and Rocky Linux / RHEL 10 followed in September. On 2026-09-18 CISA added it to the Known Exploited Vulnerabilities catalogue with a three-day federal deadline, which means someone is using it. Still vulnerable when this tracker was archived: Proxmox VE 8 (end of life, no fix coming) and Ubuntu’s own focal, jammy, and noble kernels. Everywhere else the question is not whether a fix exists but whether the host has rebooted onto a kernel past its line’s First fixed — a machine patched in July and never rebooted is still running the vulnerable code.

How the exploitation chain works

The ebtables snat target rewrites the Ethernet source address of frames leaving a bridge, and — with --snat-arp — also the sender hardware address inside ARP packets, so that ARP replies advertise the rewritten MAC. The Ethernet rewrite is guarded by skb_ensure_writable(skb, 0). That looks odd but is deliberate: at the bridge hooks the Ethernet header is addressed through eth_hdr() while skb->data already points at the payload, so asking for ETH_HLEN writable bytes would test the payload, not the header, and would reintroduce the short-frame drops that 63137bc5882a fixed in v5.10.

The ARP rewrite is a different case. It writes through skb_store_bits(skb, sizeof(struct arphdr), info->mac, ETH_ALEN) at an offset relative to skb->data — into the payload proper — but the only check before it was skb_header_pointer(), which guarantees the ARP header can be read, not that the bytes after it can be written. If the sender-hardware-address range lives in a non-linear fragment, skb_store_bits() maps that fragment’s page and copies the six MAC bytes straight into it.

Normally that page is the kernel’s own receive buffer and the copy is exactly the intended rewrite. But a socket buffer can also carry pages the kernel does not own outright — the commit names the case: a fragment “backed by a splice-imported file page”, meaning a page-cache page of a file that splice() attached to the socket’s send path by reference, without copying. A frame whose ARP payload is backed by such a page reaches the snat rule with the file page still attached, and the rewrite writes the MAC bytes into the file’s cached contents. The commit stops there. What that primitive is worth is inference from Dirty Pipe (CVE-2022-0847), which was the same thing — a write into a page-cache page the writer had no permission to modify: a few controlled bytes at a chosen offset in a readable setuid binary or shared library are enough to run code as root. No public code demonstrates that chain for this bug, but it is the obvious use of the write, and CISA’s listing says the bug has been used.

The fix, 67ba971ae025, adds a single guard on the --snat-arp path: skb_ensure_writable(skb, sizeof(struct arphdr) + ETH_ALEN) before the ARP header is read and before skb_store_bits() runs, which makes the kernel copy any shared or read-only backing into a private buffer first. It is three lines in ebt_snat_tg(), and the stable backports are byte-identical.

ℹ️ The write only escapes when the packet is the attacker’s. A frame received from the wire lives in kernel-owned pages and the ARP rewrite does what it always did, so remote ARP traffic on its own cannot trigger anything — the kernel CNA scores it AV:L for that reason. The dangerous case needs a local sender who controls the rule (CAP_NET_ADMIN over the bridge’s namespace) and the packet’s backing pages. Where unprivileged user namespaces are enabled, any local user can build that setup in a private namespace; where they are disabled, it takes a container or process that already holds CAP_NET_ADMIN. None of this changes a row’s verdict — only the 67ba971ae025 backport does — but it decides who on a given host can reach the bug.

Vulnerable commit range

CommitRoleDescription
63137bc5882aIntroducednetfilter: ebtables: Fixes dropping of small packets in bridge nat (v5.10, released 2020-12-13) — moved the Ethernet-source rewrite behind skb_ensure_writable(skb, 0) and left the ARP sender-address rewrite with no writability check at all. Backported to the 5.4.73, 5.8.17, and 5.9.2 stable releases.
67ba971ae025Fixednetfilter: bridge: make ebt_snat ARP rewrite writable — makes the ARP header plus sender-address range writable before reading the header and before skb_store_bits(); first released in v7.1-rc7 (2026-06-07), backported to every maintained stable line on 2026-06-19.

The reachable lifetime is therefore 5.10 through 7.0.12 (and 7.1 before -rc7), plus the long-dead 5.4.y / 5.8.y / 5.9.y lines from the point release that took the introducing commit. A kernel is safe by carrying the fix, or by predating v5.10 (and 5.4.73) altogether.

Patch status

A row is Fixed only if its kernel carries the 67ba971ae025 fix — a release at or past its branch’s first-fixed version, or an explicit distro backport. The upstream picture has been complete since 2026-06-19: mainline carries the fix from v7.1-rc7, the 7.1.y and 7.2.y stable branches were cut after it landed and so have carried it from their first release, and the same-day 7.0.13, 6.18.36, 6.12.94, 6.6.143, 6.1.176, 5.15.210, and 5.10.259 point releases covered every longterm line. Downstream, every Debian suite, all three Amazon Linux 2023 kernel streams, RHEL/Rocky 8, 9, and 10, every tracked NixOS channel, and Proxmox VE 9 have shipped it; Proxmox VE 8 is permanently Vulnerable (end of life, no fix coming).

The first group is the upstream kernel; the rest are a focused set of x86-64 distributions, with per-distribution detail in the sections that follow. Current kernel is what each release ships today; First fixed and Fixed since record the build that first carried the fix and the date it shipped, and stay — until a row is fixed.

DistributionReleaseCurrent kernelFirst fixedFixed sinceStatus
Linux kernelmainline7.3-rc47.1-rc72026-06-07✅ Fixed — carries 67ba971ae025
Linux kernel7.2.x7.2.87.22026-08-16✅ Fixed — branch cut after the fix
Linux kernel7.1.x7.1.13 (EOL)7.12026-06-14✅ Fixed — every 7.1 release carries it
Linux kernel6.18.x6.18.546.18.362026-06-19✅ Fixed — LTS
Linux kernel6.12.x6.12.1116.12.942026-06-19✅ Fixed — LTS
Linux kernel6.6.x6.6.1576.6.1432026-06-19✅ Fixed — LTS
Linux kernel6.1.x6.1.1886.1.1762026-06-19✅ Fixed — LTS
Linux kernel5.15.x5.15.2215.15.2102026-06-19✅ Fixed — LTS
Linux kernel5.10.x5.10.2705.10.2592026-06-19✅ Fixed — LTS
Debiansid (unstable)7.2.8-17.0.13-12026-06-19✅ Fixed
Debianforky (testing)7.2.6-17.0.13-12026-06-28✅ Fixed
Debian13 (trixie)6.12.107-16.12.94-12026-06-21✅ Fixed — trixie-security
Debian12 (bookworm)6.1.187-16.1.176-12026-07-03✅ Fixed — DLA-4665-1
Proxmox VE9 (default)7.0.14-19-pve7.0.14-9-pve2026-08-05✅ Fixed — Ubuntu 7.0.0-31.31 rebase
NixOSmaster6.18.546.18.362026-06-19✅ Fixed
NixOSrelease-26.056.18.546.18.362026-06-19✅ Fixed
NixOSUnstable6.18.546.18.362026-06-26✅ Fixed
NixOSUnstable (small)6.18.546.18.362026-06-20✅ Fixed
NixOSUnstable (nixpkgs)6.18.546.18.362026-06-23✅ Fixed
NixOS26.056.18.546.18.362026-06-23✅ Fixed
NixOS26.05 (small)6.18.546.18.362026-06-20✅ Fixed
Rocky Linux / RHEL106.12.0-211.60.1.el10_26.12.0-211.60.1.el10_22026-09-25✅ Fixed — RHSA-2026:71233
Rocky Linux / RHEL95.14.0-687.52.1.el9_85.14.0-687.24.1.el9_82026-07-10✅ Fixed — RHSA-2026:36645
Rocky Linux / RHEL84.18.0-553.168.1.el8_104.18.0-553.144.1.el8_102026-07-14✅ Fixed — RHSA-2026:39083
Amazon Linux2023 (default)6.1.186-228.3766.1.176-220.3582026-07-06✅ Fixed — ALAS2023-2026-1924
Amazon Linux2023 (6.12 opt-in)6.12.103-129.1976.12.94-123.1742026-07-20✅ Fixed — ALAS2023-2026-1968
Amazon Linux2023 (6.18 opt-in)6.18.48-109.1506.18.36-69.1342026-07-06✅ Fixed — ALAS2023-2026-1925

Linux kernel

The fix reached mainline in v7.1-rc7, through the netfilter tree, and one coordinated stable batch carried it to every maintained line. The 7.1.y and 7.2.y branches were cut after it landed, so every release on them carries it.

7.0.y went end of life after the fix. Its final release, 7.0.14, is fixed; only 7.0.0 through 7.0.12 are exposed.

Old 5.4, 5.8 and 5.9 kernels are also in-window. The introducing commit was backported to them in 2020 (from 5.4.73, 5.8.17 and 5.9.2). All three are long past end of life upstream — a host still on one needs a supported kernel. Upstream kernels older than 5.4.73 are not affected.

To check a tree directly: a fixed ebt_snat_tg() (in net/bridge/netfilter/ebt_snat.c) calls skb_ensure_writable(skb, sizeof(_ah) + ETH_ALEN) inside the --snat-arp branch, before skb_header_pointer(); an unfixed one goes from skb_header_pointer() straight to skb_store_bits().

Debian

forky is testing, the future Debian 14. The bookworm-backports 6.12 kernel carries the fix as well.

bullseye (Debian 11) left security support on 2026-08-31. Its last LTS kernels did carry the fix (DLA-4664-1 for linux, DLA-4671-1 for the opt-in linux-6.1), but nothing further will ship for it — move to bookworm or trixie.

The ebt_snat module is built and autoloaded on demand on every Debian kernel, and nothing in the default configuration blocks it. Debian kernels also enable unprivileged user namespaces by default (kernel.unprivileged_userns_clone=1), so the local path is open on any host with an in-window kernel.

Proxmox VE

Proxmox ships its own Ubuntu-derived kernels, so Debian’s status does not carry over. PVE 9’s default proxmox-kernel-7.0 picked up the fix silently, in a rebase onto Ubuntu’s fixed resolute kernel, with no CVE-named changelog line. A PVE 9 host is patched once it has rebooted onto a fixed build.

  • PVE 8 reached end of life in August 2026, before any fix reached its kernels. Its default proxmox-kernel-6.8 and its opt-in series stay vulnerable, and no fix is coming — upgrade to PVE 9.
  • Superseded and preview series that PVE 9 still publishes, proxmox-kernel-6.17 and proxmox-kernel-6.14, stopped updating before the fix existed and will never get it. A host booting one should switch to the default kernel.

Proxmox hosts are the natural home of this bug’s preconditions: every VM and container sits behind a Linux bridge, and an unprivileged LXC container is a network namespace with its own bridge port.

Whether an ordinary user or a container can reach the write depends on the container’s capability set and the host’s user-namespace settings. PVE runs Ubuntu kernels on a Debian userland, and Ubuntu’s 6.8 and 7.0 kernels carry their own AppArmor restriction on unprivileged user namespaces, so don’t assume either way — check with the Detection commands.

NixOS

Every NixOS channel and branch in the table defaults to linux_6_18 (linuxPackages), which carries the fix. A host that overrides boot.kernelPackages is fixed too: linux_6_12, linux_6_6, linux_6_1, linux_5_15 and linux_5_10 are all past their first fix, and NixOS pins nothing older than 5.10.

Kernel updates land on nixpkgs master first and reach each channel once its Hydra jobset passes, so a channel can sit a few days behind master. The -small channels (nixos-unstable-small, nixos-26.05-small) run a reduced jobset and pick up kernel updates fastest.

Which ref a flake input follows:

  • github:NixOS/nixpkgs/nixos-unstable and github:NixOS/nixpkgs/nixos-26.05 follow those channels — the GitHub channel branches are updated to exactly the published channel pins.
  • A bare github:NixOS/nixpkgs with no ref follows master, and github:NixOS/nixpkgs/release-26.05 follows that branch. Both are ungated development branches — they carry a kernel bump as soon as it lands, often a day or more before a channel publishes it.
  • A bare nixpkgs registry input resolves by default to the nixpkgs-unstable channel: a separate channel aimed at Nix on other operating systems, not gated on the NixOS tests.

Rocky Linux / RHEL family

Red Hat rates this CVE Important. Rocky 8, 9 and 10 each skipped the exact RHSA build and shipped the next one, which is where their fix starts.

  • RHEL 7 ELS: fixed by RHSA-2026:71687 (kernel-rt RHSA-2026:71657). Rocky ships no EL7.
  • RHEL 6: listed as affected in Red Hat’s record, with no fix.
  • kernel-rt: RHEL 8’s is fixed by RHSA-2026:39082; RHEL 9’s and 10’s are fixed in the same advisories as their base kernels.

AlmaLinux 9 shipped ALSA-2026:36645. AlmaLinux, CloudLinux and Oracle Linux’s Red Hat Compatible Kernel rebuild RHEL’s kernel, so they get the fix as they rebuild Red Hat’s advisories.

Amazon Linux

The three AL2023 streams are the default kernel package (6.1 line) and the opt-in kernel6.12 and kernel6.18 packages; each was fixed by a cherry-pick in July.

Amazon Linux 2 reached end of support on 2026-06-30, a week after the CVE was published, with no fixed kernel. Every AL2 kernel stays vulnerable — the only way out is AL2023.

Detection

Is the running kernel in the affected window and missing the fix? Every kernel from 5.10 (and 5.4.73) up to the fixed releases is in-window. Compare the running kernel against the Patch status table’s First fixed column for its series; a distro kernel below its line’s first-fixed build, or one that has been patched but not rebooted, is still vulnerable:

uname -r

Is an ARP-rewriting SNAT rule in place? The bug is only reachable through an ebtables snat target with --snat-arp. List the bridge NAT table (the ebtables command is the nftables-backed compatibility tool on current systems; a rule created through native nft shows up in the bridge family ruleset instead):

ebtables -t nat -L
nft list ruleset bridge

Is the module present? modinfo prints the on-disk path of the ebt_snat module, or an error if the kernel has no such module — but a present module is loaded on demand the moment a rule needs it, so this tells you whether the path can be reached, not whether it is:

modinfo -F filename ebt_snat

Can an unprivileged user reach CAP_NET_ADMIN? The local path in a private namespace needs unprivileged user namespaces. If both of these are non-zero, an ordinary user can unshare -Urn into a namespace where it holds CAP_NET_ADMIN over its own bridge:

sysctl kernel.unprivileged_userns_clone user.max_user_namespaces

Is this a multi-tenant or container host? Any container that holds CAP_NET_ADMIN (for example one run with --cap-add=NET_ADMIN or a privileged pod) can insert ebtables rules on a bridge it owns, regardless of the user-namespace sysctls:

grep -rEl 'CAP_NET_ADMIN|NET_ADMIN|privileged' /etc/containers /etc/kubernetes 2>/dev/null

Public PoC

There is no public exploit for this CVE at the time of writing: no PoC repository, no write-up, and no vendor advisory that names a campaign. What exists publicly is the fix commit, whose description spells out the primitive — a controlled write into a splice-imported file page — and Red Hat’s assessment that it is a local privilege escalation. CISA’s KEV entry on 2026-09-18 says the bug has been exploited in the wild, and its three-day deadline and forensic-triage flag signal that this was not a marginal report. Treat the absence of public code as no reproducer to test with, not as no exploit: the primitive class is well understood from Dirty Pipe, and an attacker who can reach the write does not need this page to finish the chain.

Mitigation

The real fix is a patched kernel (a release at or past its line’s First fixed, or a distro backport of 67ba971ae025), followed by a reboot — a kernel package installed in July but never booted protects nothing. Until then the exposure can be narrowed; none of these is a fix.

Remove the ARP rewrite from SNAT rules

The vulnerable path is only the --snat-arp option of the snat target. Where a bridge’s SNAT rules do not need ARP rewriting — which is most of them; the option exists for bridges that hide the real MAC from the far side — drop it, or remove SNAT rules that match ARP at all. This is Red Hat’s published workaround, and it closes the bug for rules the administrator controls. It does nothing about a rule an attacker inserts in a namespace of their own.

Block the ebt_snat module

Where bridge NAT is not used at all, blocking the module removes the datapath for every caller, including a namespaced or containerised one that would otherwise autoload it. install … /bin/false is surer than a plain blacklist, which only suppresses alias autoloading:

printf 'install ebt_snat /bin/false\n' | sudo tee /etc/modprobe.d/cve-2026-53266.conf

That rule only prevents future loading — it does not remove a module already resident. Where the module is loaded but no rule uses it, unload it so the block takes effect now:

sudo modprobe -r ebt_snat

A module that is genuinely in use cannot be unloaded, and on a host whose bridges rely on SNAT you could not block it without breaking that service — there the first mitigation applies instead. It is likewise inert if the target is built into the kernel (=y) rather than loadable; the modinfo check above prints a .ko path only for a loadable module. Proxmox VE and most container hosts do use ebtables or its nftables equivalent for bridge filtering; check before blocking.

Restrict unprivileged user namespaces

The local path for an ordinary user depends on user namespaces to obtain CAP_NET_ADMIN over a private bridge. Where unprivileged user namespaces are not needed, disabling them closes that path (it does not stop a process or container that already holds CAP_NET_ADMIN). On Debian/Ubuntu kernels:

sudo sysctl -w kernel.unprivileged_userns_clone=0

Persist it across reboots:

echo 'kernel.unprivileged_userns_clone = 0' | sudo tee /etc/sysctl.d/99-cve-2026-53266.conf

On kernels without that Debian/Ubuntu knob, cap the count instead:

sudo sysctl -w user.max_user_namespaces=0

Restrict who holds CAP_NET_ADMIN

On multi-tenant and container hosts, review which workloads are granted CAP_NET_ADMIN: drop it from container capability sets that do not need it, avoid privileged containers, and keep untrusted workloads out of namespaces where they can manage a bridge. This shrinks the reachable surface but leaves a trusted-but-hostile caller in scope.

Risk notes

  • Exploited in the wild, three months after the fix. CISA’s KEV listing (2026-09-18, due 2026-09-21) is the reason this tracker was started. The window between fix and listing means the population at risk is not “distros that have not patched” but hosts that have not rebooted onto a June-or-later kernel, plus Ubuntu’s own focal/jammy/noble kernels, still waiting when this tracker was archived, and Proxmox VE 8, which is end of life and will never get it.
  • The primitive is a page-cache write, not a heap bug. Like Dirty Pipe, it corrupts a file’s cached contents with no write permission on the file. That makes it unusually reliable for privilege escalation once reached — no race, no heap grooming — which is presumably why it was worth exploiting despite the setup it needs.
  • Multi-tenant and container hosts are the exposure. Reaching the write takes CAP_NET_ADMIN over a bridge plus a locally crafted packet. Any host where an unprivileged user can create namespaces, or where a container holds NET_ADMIN, is in scope; a single-user workstation running trusted code is not meaningfully exposed even while unpatched.
  • No “module not present” escape. ebt_snat is a loadable module (verified on Debian; other distributions build the ebtables targets the same way, though EL may ship them in a separate package) that autoloads when a rule needs it; unless it is explicitly blocked, its absence from lsmod means nothing.
  • Backports available (CVE-2026-53266): the fix has landed in mainline (7.1-rc7) and in 7.0.13, 6.18.36, 6.12.94, 6.6.143, 6.1.176, 5.15.210, and 5.10.259; distro kernels that have not adopted one of those, or cherry-picked the fix, remain vulnerable.

Verification log

Every verdict in the table above is backed by a checkable source. This log records the provenance — the git reference, advisory, or repository index that established each fact — so any row can be audited or reproduced. Most readers never need it.

Full verification log

Upstream

  • Fix commit (~/src/linux/stable, ~/src/linux/net):
    • 67ba971ae025 (netfilter: bridge: make ebt_snat ARP rewrite writable), authored 2026-05-23 by Yiming Qian, Reported-by the same, signed off by Florian Westphal and Pablo Neira Ayuso; three insertions in net/bridge/netfilter/ebt_snat.c.
    • First released in v7.1-rc7: git describe --contains → v7.1-rc7~20^2~36^2~1, tag date 2026-06-07.
    • Present on the netdev net tree (origin/main is a descendant).
  • Introducing commit:
    • 63137bc5882a (netfilter: ebtables: Fixes dropping of small packets in bridge nat), authored 2020-10-14, committed 2020-10-20; describe --contains → v5.10-rc1~40^2~2^2~3, so first in v5.10 (tag date 2020-12-13).
    • The .dyad also records it backported into 5.4.73, 5.8.17, and 5.9.2 (each with a 0:0 fixed side — those lines were end of life before the fix).
  • CVE-2026-53266 (kernel CNA, ~/src/linux/vulns origin/master, cve/published/2026/CVE-2026-53266.{json,dyad,cvss,mbox}; record keys on 67ba971ae02514d85818fe0c32549ab4bfa3bf49):
    • Published 2026-06-25 (cve.org datePublished), last updated 2026-09-19 (CISA ADP enrichment).
    • Per-branch vulnerable:fixed pairs: 5.10 → 5.10.259, 5.10 → 5.15.210, 5.10 → 6.1.176, 5.10 → 6.6.143, 5.10 → 6.12.94, 5.10 → 6.18.36, 5.10 → 7.0.13, 5.10 → 7.1.
  • Stable backports (subject grep against ~/src/linux/stable, bounded to v<series>..origin/linux-<series>.y; every tag dated 2026-06-19):
    • linux-7.0.y: c9b5ff59feff, released 7.0.13; the branch’s final release is 7.0.14 (origin/linux-7.0.y, 2026-06-27), so the line died fixed. Not listed by finger_banner, so no table row.
    • linux-6.18.y: b18675263db1, released 6.18.36.
    • linux-6.12.y: 153ea96c806a, released 6.12.94.
    • linux-6.6.y: afd64b59c3de, released 6.6.143.
    • linux-6.1.y: b7e91939ba9b, released 6.1.176.
    • linux-5.15.y: 76280b78cc9f, released 5.15.210.
    • linux-5.10.y: bf84ad7c7a9e, released 5.10.259.
    • linux-7.1.y and linux-7.2.y need no backport: their base tags v7.1 (2026-06-14) and v7.2 (2026-08-16) both contain 67ba971ae025. 7.1.y is end of life at 7.1.13 per finger_banner.
    • The Linux kernel rows’ Current kernel cells are read from kernel.org’s finger_banner.

Scoring

  • CISA KEV (known_exploited_vulnerabilities.json, catalogue version 2026.09.18):
    • Added 2026-09-18, due 2026-09-21, name Linux Kernel Out-of-Bounds Write Vulnerability, CWE-787, knownRansomwareCampaignUse: Unknown, forensicTriage: Yes; the notes cite the eight kernel.org fix URLs, the BOD 26-04 and forensic-triage guidance, and the NVD entry — no campaign, no reporter.
    • CISA ADP on the CVE record: SSVC Exploitation: active, Automatable: no, Technical Impact: total (timestamp 2026-09-18).
    • The same day’s batch also added CVE-2025-39682 (kTLS) and CVE-2025-39964 (AF_ALG); unrelated code, not cross-referenced here.
  • Kernel CNA (vulns.git .cvss):
    • 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).
    • AV:L: per the CNA, remote ARP alone cannot create the splice-backed page condition.
    • PR:L: the CAP_NET_ADMIN the rule path needs is reachable through user/network namespaces.
    • S:C: the write corrupts file-backed memory outside the bridge/netfilter boundary.
  • NVD (services.nvd.nist.gov 2.0 API): published 2026-06-25, last modified 2026-09-19, status Analyzed; CVSS 3.1 8.8 from the CNA source; CWE-787; cisaExploitAdd 2026-09-18, cisaActionDue 2026-09-21.
  • Red Hat (CSAF/VEX security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-53266.json, initial release 2026-06-01, current 2026-09-19):
    • Aggregate severity Important; vector AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H (7.5).
    • The description scopes the impact to memory corruption, DoS, or local privilege escalation, limited to systems with ARP-rewriting bridge netfilter rules.
    • Red Hat classifies it CWE-825, where NVD and CISA say CWE-787.
    • workaround remediation: disable ARP hardware address rewriting in ebtables SNAT rules, or remove ARP-matching SNAT rules on bridges.
    • The kernel-rt builds are in the same fixed lists as the base kernels.
  • Ubuntu (ubuntu.com/security/cves/CVE-2026-53266.json): priority High, published 2026-06-25.
  • EPSS (api.first.org, 2026-09-19): 0.276%, 20th percentile.

Distributions

  • Debian (security tracker data/json, linux source package, scope: local; package-tracker news for migrations; snapshot.debian.org first_seen for archive dates):
    • sid resolved, fixed_version 7.0.13-1; the upload was accepted into unstable and first seen in the archive 2026-06-19.
    • forky (testing) resolved with the same 7.0.13-1; the package tracker records 7.0.13-1 MIGRATED to testing on 2026-06-28 (testing had been on 7.0.12-2 since 2026-06-19). Its Current kernel comes from ftp-master madison, sid’s likewise.
    • trixie resolved, fixed_version 6.12.94-1, accepted into stable-security and proposed-updates and first seen 2026-06-21; the tracker lists it under trixie-security. Current kernel is the trixie-security entry under repositories.
    • bookworm resolved, fixed_version 6.1.176-1 via DLA-4665-1 (debian-lts-announce), first seen in the archive 2026-07-03; Current kernel is the bookworm-security entry. The bookworm-backports linux source package is at or past 6.12.94-1~bpo12+1 (accepted 2026-06-23) per the suite’s Sources index.
    • bullseye is no longer in the tracker’s releases map (LTS ended 2026-08-31) and has no rows; the prose mention of its last LTS kernels comes from the tracker’s per-CVE fixed-version data (linux 5.10.259-1, DLA-4664-1; linux-6.1 6.1.176-1~deb11u1, DLA-4671-1).
  • Ubuntu (ubuntu.com/security/cves/CVE-2026-53266.json, used for the Proxmox base; changelogs.ubuntu.com):
    • resolute linux: released in 7.0.0-31.31.
    • noble linux-hwe-7.0: released in 7.0.0-31.31~24.04.1.
    • noble linux: pending 6.8.0-146.146.
    • noble linux-hwe-6.17: needed.
    • jammy linux: pending 5.15.0-198.208.
    • jammy linux-hwe-6.8: pending 6.8.0-146.146~22.04.1.
    • focal: needed.
    • linux-hwe-6.14: end of life.
    • The 7.0.0-31.31 changelog lists netfilter: bridge: make ebt_snat ARP rewrite writable among its upstream stable changes; the 6.8.0-139.139 changelog does not.
  • Proxmox VE (~/src/proxmox/pve-kernel, pve-no-subscription Packages.gz): the default series is proxmox-kernel-7.0 (PVE 9, per proxmox-default-kernel 2.1.0); Current kernel is the highest proxmox-kernel-<ver>-pve-signed in the trixie index.
    • PVE 9: origin/master’s debian/changelog entry for 7.0.14-9 (dated 2026-08-05) reads update submodules and patches to Ubuntu-7.0.0-31.31 — Ubuntu’s fixed resolute version — with no CVE-named line for this bug; the fix arrived by rebase, and every later build (through 7.0.14-19 in git) keeps that base or newer. 7.0.14-9 and later are published in pve-no-subscription.
    • PVE 8 reached end of life in 2026-08 (Proxmox VE FAQ lifecycle table, pve.proxmox.com/wiki/FAQ), before this tracker existed.
    • origin/bookworm-6.8’s changelog named Ubuntu-6.8.0-136.136 as its source and Ubuntu-6.8.0-139.139 for picked commits at the final build, neither carrying the fix, with no ebt_snat or CVE-2026-53266 line and no ebt_snat patch under patches/kernel/.
    • Its last two entries are unnamed “cherry-pick and backport fixes for CVEs” on a Proxmox-maintained submodule snapshot that could not be read from the shared clone, so the verdict rests on changelog, patches, and Ubuntu status — not a source read of the tree.
    • Superseded series: origin/trixie-6.17 last built 6.17.13-21 (2026-07-28) on Ubuntu-hwe-6.17-6.17.0-42.42, which Ubuntu marks needed; trixie-6.14 last built 2026-05-15.
  • NixOS (~/src/nixos/nixpkgs; branch refs from the clone, channels via their git-revision pins; git log -S on kernels-org.json):
    • packageAliases.linux_default = linux_6_18 at every tracked ref.
    • Each row’s Current kernel is the 6.18 version kernels-org.json resolves at that ref.
    • master bumped linux_6_18 to 6.18.36 in 41efd6153a57, dated 2026-06-19.
    • release-26.05 bumped it in 95ab4c5c4d3b, dated 2026-06-19.
    • Channel Fixed since dates come from scripts/nixos-first-shipped <channel> <commit>.
    • nixos-unstable 2026-06-26, nixos-unstable-small 2026-06-20 and nixpkgs-unstable 2026-06-23, all against 41efd6153a57.
    • nixos-26.05 2026-06-23 and nixos-26.05-small 2026-06-20, both against 95ab4c5c4d3b.
  • Rocky / RHEL family (Red Hat’s CSAF/VEX record; Rocky BaseOS Packages/k/ listings and primary.xml.gz; OSV):
    • The record marks RHEL 8, 9, and 10 known_affected.
    • As of its 2026-09-25 revision it marks RHEL 6 kernel known_affected too, and lists neither RHEL 6 nor 7 as known_not_affected.
    • RHSA-2026:71233 (2026-09-24): kernel-6.12.0-211.59.1.el10_2, RHEL 10.2.
    • RHSA-2026:36645 (2026-07-08): kernel-5.14.0-687.23.1.el9_8, RHEL 9.8.
    • RHSA-2026:39083 (2026-07-14): kernel-4.18.0-553.143.1.el8_10, RHEL 8.10.
    • RHSA-2026:39082 (2026-07-14): RHEL 8 kernel-rt.
    • RHSA-2026:71687 (products 7Server-ELS): RHEL 7 ELS.
    • RHSA-2026:71657 (7Server-RT-ELS): RHEL 7 ELS kernel-rt.
    • RHSA-2026:36645 and RHSA-2026:71233 list kernel-rt builds under the RT and NFV products (RT-9.8.0.Z.MAIN.EUS, RT-10.2.Z), so the RHEL 9 and 10 real-time kernels are fixed in the base advisories.
    • The record’s unversioned red_hat_enterprise_linux_9:kernel-rt entry still sits in known_affected.
    • Rocky 10: BaseOS repodata skipped the RHSA-2026:71233 NVR (211.59.1.el10_2) and published kernel-6.12.0-211.60.1.el10_2 instead, dated 2026-09-25 in the Packages/k/ listing — the row’s First fixed and Fixed since.
    • Rocky 9: the Packages/k/ listing shows no 687.23.1; the first build past it is kernel-5.14.0-687.24.1.el9_8 (2026-07-10), the row’s First fixed and Fixed since.
    • Rocky 8: the listing shows no 553.143.1; the first build past it is kernel-4.18.0-553.144.1.el8_10 (2026-07-14), the row’s First fixed and Fixed since.
    • Rocky’s updateinfo.xml names no advisory for this CVE, and the errata API search is unreliable, so the mirror listing is the source.
    • The Rocky rows’ Current kernel NVRs are read from BaseOS primary.xml.gz (highest ver/rel).
    • AlmaLinux: OSV lists ALSA-2026:36645 (2026-07-08, 5.14.0-687.23.1.el9_8).
  • Amazon Linux (AL2023 updateinfo.xml.gz via scripts/alas-cve, primary.xml.gz for versions, x86_64 mirror):
    • ALAS2023-2026-1924 (Important, 2026-07-06): kernel 6.1.176-220.358.amzn2023.
    • ALAS2023-2026-1968 (Important, 2026-07-20): kernel6.12 6.12.94-123.174.amzn2023.
    • ALAS2023-2026-1925 (Important, 2026-07-06): kernel6.18 6.18.36-69.134.amzn2023.
    • Per-stream Current kernel values are read from primary.xml.gz (highest ver/rel).

References

SourceURL
Kernel fix (v7.1-rc7)https://git.kernel.org/stable/c/67ba971ae02514d85818fe0c32549ab4bfa3bf49
Stable backport (6.12.94)https://git.kernel.org/stable/c/153ea96c806aea395daba907a4f88480b6ad5093
Introducing commit (v5.10)https://git.kernel.org/stable/c/63137bc5882a1882c553d389fdeeeace86ee1741
CVE-2026-53266https://www.cve.org/CVERecord?id=CVE-2026-53266
NVD entryhttps://nvd.nist.gov/vuln/detail/CVE-2026-53266
CISA KEV cataloguehttps://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-53266
Debian security trackerhttps://security-tracker.debian.org/tracker/CVE-2026-53266
Debian package madison (dak-backed)https://api.ftp-master.debian.org/madison?package=linux&s=sid,forky,trixie,bookworm&text=on
Ubuntu CVE trackerhttps://ubuntu.com/security/CVE-2026-53266
Red Hat security datahttps://access.redhat.com/security/cve/CVE-2026-53266
AlmaLinux erratahttps://errata.almalinux.org/
Amazon Linux ALAShttps://alas.aws.amazon.com/
stable point release bannerhttps://www.kernel.org/finger_banner