HIGH

CVE-2026-53266

Linux Linux Kernel 2026-06-25 CVSS v3.1
CVSS
8.8
KEV

Description

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().

Summary dbcve.org

The Linux kernel's ebtables SNAT target has a vulnerability in its ARP sender hardware address rewrite. The code uses skb_store_bits() to write to the ARP SHA offset relative to skb->data, but fails to ensure this region is writable first. When the skb contains nonlinear fragments (e.g., from splice-imported file pages), this leads to writing directly into read-only fragment pages, causing kernel crashes or potential exploitation.

Mitigation

Apply the kernel patch that adds skb_ensure_writable() calls before the ARP header read and skb_store_bits() operation to ensure the ARP SHA range is writable.

Patch Commit

Weakness (CWE)

CWE-787 Out-of-bounds Write

EPSS Score

0.28%
Probability of exploitation in next 30 days
20.2th percentile

References

View on dbcve.org
Base CVE data derived from NVD (public domain). Enrichment by dbcve.org (CC-BY-4.0). Fetched via API.
Back to CVE