CVE-2026-53266
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Summary
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().
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 63137bc5882a1882c553d389fdeeeace86ee1741 < bf84ad7c7a9ede46e31afaa41a1ba06a159e8c87 | affected |
| Linux | Linux | 63137bc5882a1882c553d389fdeeeace86ee1741 < 76280b78cc9f23bdc6438e10ad6dff148ef8375b | affected |
| Linux | Linux | 63137bc5882a1882c553d389fdeeeace86ee1741 < b7e91939ba9be805a62a257fa4e227dffbb88fa0 | affected |
| Linux | Linux | 63137bc5882a1882c553d389fdeeeace86ee1741 < afd64b59c3de9bbbdd3759e834fdc55cda716e0b | affected |
| Linux | Linux | 63137bc5882a1882c553d389fdeeeace86ee1741 < 153ea96c806aea395daba907a4f88480b6ad5093 | affected |
| Linux | Linux | 63137bc5882a1882c553d389fdeeeace86ee1741 < b18675263db1147c8e1cab625400c13a0d87bd2d | affected |
| Linux | Linux | 63137bc5882a1882c553d389fdeeeace86ee1741 < c9b5ff59feffb92a147a84a5aa28acd2cb8ff4c5 | affected |
| Linux | Linux | 63137bc5882a1882c553d389fdeeeace86ee1741 < 67ba971ae02514d85818fe0c32549ab4bfa3bf49 | affected |
| Linux | Linux | 2f3839075a5f8dcf116c1abe35b36b018ac62445 | affected |
| Linux | Linux | 51ba2945a8ef65ae437c8f9ba05f0343aa82ae5b | affected |
| Linux | Linux | b7d23c2c87584eb429f115c078ed511be8b18e29 | affected |
| Linux | Linux | 5.4.73 < 5.5 | affected |
| Linux | Linux | 5.8.17 < 5.9 | affected |
| Linux | Linux | 5.9.2 < 5.10 | affected |
| Linux | Linux | 5.10 | affected |
| Linux | Linux | 0 < 5.10 | unaffected |
| Linux | Linux | 5.10.259 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.210 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.176 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.143 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.94 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.36 <= 6.18.* | unaffected |
| Linux | Linux | 7.0.13 <= 7.0.* | unaffected |
| Linux | Linux | 7.1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/bf84ad7c7a9ede46e31afaa41a1ba06a159e8c87
- https://git.kernel.org/stable/c/76280b78cc9f23bdc6438e10ad6dff148ef8375b
- https://git.kernel.org/stable/c/b7e91939ba9be805a62a257fa4e227dffbb88fa0
- https://git.kernel.org/stable/c/afd64b59c3de9bbbdd3759e834fdc55cda716e0b
- https://git.kernel.org/stable/c/153ea96c806aea395daba907a4f88480b6ad5093
- https://git.kernel.org/stable/c/b18675263db1147c8e1cab625400c13a0d87bd2d
- https://git.kernel.org/stable/c/c9b5ff59feffb92a147a84a5aa28acd2cb8ff4c5
- https://git.kernel.org/stable/c/67ba971ae02514d85818fe0c32549ab4bfa3bf49
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.