CVE-2026-53266 (GCVE-0-2026-53266)
Vulnerability from cvelistv5 – Published: 2026-06-25 08:39 – Updated: 2026-06-28 06:41
VLAI
Title
netfilter: bridge: make ebt_snat ARP rewrite writable
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().
Severity
8.8 (High)
Assigner
References
8 references
Impacted products
2 products
| Vendor | Product | Version | |
|---|---|---|---|
| Linux | Linux |
Affected:
63137bc5882a1882c553d389fdeeeace86ee1741 , < bf84ad7c7a9ede46e31afaa41a1ba06a159e8c87
(git)
Affected: 63137bc5882a1882c553d389fdeeeace86ee1741 , < 76280b78cc9f23bdc6438e10ad6dff148ef8375b (git) Affected: 63137bc5882a1882c553d389fdeeeace86ee1741 , < b7e91939ba9be805a62a257fa4e227dffbb88fa0 (git) Affected: 63137bc5882a1882c553d389fdeeeace86ee1741 , < afd64b59c3de9bbbdd3759e834fdc55cda716e0b (git) Affected: 63137bc5882a1882c553d389fdeeeace86ee1741 , < 153ea96c806aea395daba907a4f88480b6ad5093 (git) Affected: 63137bc5882a1882c553d389fdeeeace86ee1741 , < b18675263db1147c8e1cab625400c13a0d87bd2d (git) Affected: 63137bc5882a1882c553d389fdeeeace86ee1741 , < c9b5ff59feffb92a147a84a5aa28acd2cb8ff4c5 (git) Affected: 63137bc5882a1882c553d389fdeeeace86ee1741 , < 67ba971ae02514d85818fe0c32549ab4bfa3bf49 (git) Affected: 2f3839075a5f8dcf116c1abe35b36b018ac62445 (git) Affected: 51ba2945a8ef65ae437c8f9ba05f0343aa82ae5b (git) Affected: b7d23c2c87584eb429f115c078ed511be8b18e29 (git) Affected: 5.4.73 , < 5.5 (semver) Affected: 5.8.17 , < 5.9 (semver) Affected: 5.9.2 , < 5.10 (semver) |
|
| Linux | Linux |
Affected:
5.10
Unaffected: 0 , < 5.10 (semver) Unaffected: 5.10.259 , ≤ 5.10.* (semver) Unaffected: 5.15.210 , ≤ 5.15.* (semver) Unaffected: 6.1.176 , ≤ 6.1.* (semver) Unaffected: 6.6.143 , ≤ 6.6.* (semver) Unaffected: 6.12.94 , ≤ 6.12.* (semver) Unaffected: 6.18.36 , ≤ 6.18.* (semver) Unaffected: 7.0.13 , ≤ 7.0.* (semver) Unaffected: 7.1 , ≤ * (original_commit_for_fix) |
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"net/bridge/netfilter/ebt_snat.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "bf84ad7c7a9ede46e31afaa41a1ba06a159e8c87",
"status": "affected",
"version": "63137bc5882a1882c553d389fdeeeace86ee1741",
"versionType": "git"
},
{
"lessThan": "76280b78cc9f23bdc6438e10ad6dff148ef8375b",
"status": "affected",
"version": "63137bc5882a1882c553d389fdeeeace86ee1741",
"versionType": "git"
},
{
"lessThan": "b7e91939ba9be805a62a257fa4e227dffbb88fa0",
"status": "affected",
"version": "63137bc5882a1882c553d389fdeeeace86ee1741",
"versionType": "git"
},
{
"lessThan": "afd64b59c3de9bbbdd3759e834fdc55cda716e0b",
"status": "affected",
"version": "63137bc5882a1882c553d389fdeeeace86ee1741",
"versionType": "git"
},
{
"lessThan": "153ea96c806aea395daba907a4f88480b6ad5093",
"status": "affected",
"version": "63137bc5882a1882c553d389fdeeeace86ee1741",
"versionType": "git"
},
{
"lessThan": "b18675263db1147c8e1cab625400c13a0d87bd2d",
"status": "affected",
"version": "63137bc5882a1882c553d389fdeeeace86ee1741",
"versionType": "git"
},
{
"lessThan": "c9b5ff59feffb92a147a84a5aa28acd2cb8ff4c5",
"status": "affected",
"version": "63137bc5882a1882c553d389fdeeeace86ee1741",
"versionType": "git"
},
{
"lessThan": "67ba971ae02514d85818fe0c32549ab4bfa3bf49",
"status": "affected",
"version": "63137bc5882a1882c553d389fdeeeace86ee1741",
"versionType": "git"
},
{
"status": "affected",
"version": "2f3839075a5f8dcf116c1abe35b36b018ac62445",
"versionType": "git"
},
{
"status": "affected",
"version": "51ba2945a8ef65ae437c8f9ba05f0343aa82ae5b",
"versionType": "git"
},
{
"status": "affected",
"version": "b7d23c2c87584eb429f115c078ed511be8b18e29",
"versionType": "git"
},
{
"lessThan": "5.5",
"status": "affected",
"version": "5.4.73",
"versionType": "semver"
},
{
"lessThan": "5.9",
"status": "affected",
"version": "5.8.17",
"versionType": "semver"
},
{
"lessThan": "5.10",
"status": "affected",
"version": "5.9.2",
"versionType": "semver"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"net/bridge/netfilter/ebt_snat.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.10"
},
{
"lessThan": "5.10",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.259",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.210",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"version": "6.1.176",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"version": "6.6.143",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.94",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.36",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.0.*",
"status": "unaffected",
"version": "7.0.13",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.1",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.259",
"versionStartIncluding": "5.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.210",
"versionStartIncluding": "5.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.176",
"versionStartIncluding": "5.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.143",
"versionStartIncluding": "5.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.94",
"versionStartIncluding": "5.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.36",
"versionStartIncluding": "5.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.0.13",
"versionStartIncluding": "5.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1",
"versionStartIncluding": "5.10",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.4.73",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.8.17",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.9.2",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: bridge: make ebt_snat ARP rewrite writable\n\nThe ebtables SNAT target keeps the Ethernet source address rewrite\nbehind skb_ensure_writable(skb, 0). This is intentional: at the bridge\nebtables hooks the Ethernet header is addressed through\nskb_mac_header()/eth_hdr(), while skb-\u003edata points at the Ethernet\npayload. Asking skb_ensure_writable() for ETH_HLEN bytes would check\nthe payload, not the Ethernet header, and would reintroduce the small\npacket regression fixed by commit 63137bc5882a.\n\nHowever, the optional ARP sender hardware address rewrite is different.\nIt writes through skb_store_bits() at an offset relative to skb-\u003edata:\n\n skb_store_bits(skb, sizeof(struct arphdr), info-\u003emac, ETH_ALEN)\n\nskb_header_pointer() only safely reads the ARP header; it does not make\nthe later sender hardware address range writable. If that range is\nstill held in a nonlinear skb fragment backed by a splice-imported file\npage, skb_store_bits() maps the frag page and copies the new MAC address\ndirectly into it.\n\nEnsure the ARP SHA range is writable before reading the ARP header and\nbefore calling skb_store_bits()."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 8.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
"version": "3.1"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-06-28T06:41:09.601Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/bf84ad7c7a9ede46e31afaa41a1ba06a159e8c87"
},
{
"url": "https://git.kernel.org/stable/c/76280b78cc9f23bdc6438e10ad6dff148ef8375b"
},
{
"url": "https://git.kernel.org/stable/c/b7e91939ba9be805a62a257fa4e227dffbb88fa0"
},
{
"url": "https://git.kernel.org/stable/c/afd64b59c3de9bbbdd3759e834fdc55cda716e0b"
},
{
"url": "https://git.kernel.org/stable/c/153ea96c806aea395daba907a4f88480b6ad5093"
},
{
"url": "https://git.kernel.org/stable/c/b18675263db1147c8e1cab625400c13a0d87bd2d"
},
{
"url": "https://git.kernel.org/stable/c/c9b5ff59feffb92a147a84a5aa28acd2cb8ff4c5"
},
{
"url": "https://git.kernel.org/stable/c/67ba971ae02514d85818fe0c32549ab4bfa3bf49"
}
],
"title": "netfilter: bridge: make ebt_snat ARP rewrite writable",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-53266",
"datePublished": "2026-06-25T08:39:53.190Z",
"dateReserved": "2026-06-09T07:44:35.395Z",
"dateUpdated": "2026-06-28T06:41:09.601Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-53266",
"date": "2026-06-28",
"epss": "0.00129",
"percentile": "0.02939"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2026-53266\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-06-25T09:16:44.643\",\"lastModified\":\"2026-06-28T08:16:41.983\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnetfilter: bridge: make ebt_snat ARP rewrite writable\\n\\nThe ebtables SNAT target keeps the Ethernet source address rewrite\\nbehind skb_ensure_writable(skb, 0). This is intentional: at the bridge\\nebtables hooks the Ethernet header is addressed through\\nskb_mac_header()/eth_hdr(), while skb-\u003edata points at the Ethernet\\npayload. Asking skb_ensure_writable() for ETH_HLEN bytes would check\\nthe payload, not the Ethernet header, and would reintroduce the small\\npacket regression fixed by commit 63137bc5882a.\\n\\nHowever, the optional ARP sender hardware address rewrite is different.\\nIt writes through skb_store_bits() at an offset relative to skb-\u003edata:\\n\\n skb_store_bits(skb, sizeof(struct arphdr), info-\u003emac, ETH_ALEN)\\n\\nskb_header_pointer() only safely reads the ARP header; it does not make\\nthe later sender hardware address range writable. If that range is\\nstill held in a nonlinear skb fragment backed by a splice-imported file\\npage, skb_store_bits() maps the frag page and copies the new MAC address\\ndirectly into it.\\n\\nEnsure the ARP SHA range is writable before reading the ARP header and\\nbefore calling skb_store_bits().\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"net/bridge/netfilter/ebt_snat.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"63137bc5882a1882c553d389fdeeeace86ee1741\",\"lessThan\":\"bf84ad7c7a9ede46e31afaa41a1ba06a159e8c87\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"63137bc5882a1882c553d389fdeeeace86ee1741\",\"lessThan\":\"76280b78cc9f23bdc6438e10ad6dff148ef8375b\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"63137bc5882a1882c553d389fdeeeace86ee1741\",\"lessThan\":\"b7e91939ba9be805a62a257fa4e227dffbb88fa0\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"63137bc5882a1882c553d389fdeeeace86ee1741\",\"lessThan\":\"afd64b59c3de9bbbdd3759e834fdc55cda716e0b\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"63137bc5882a1882c553d389fdeeeace86ee1741\",\"lessThan\":\"153ea96c806aea395daba907a4f88480b6ad5093\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"63137bc5882a1882c553d389fdeeeace86ee1741\",\"lessThan\":\"b18675263db1147c8e1cab625400c13a0d87bd2d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"63137bc5882a1882c553d389fdeeeace86ee1741\",\"lessThan\":\"c9b5ff59feffb92a147a84a5aa28acd2cb8ff4c5\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"63137bc5882a1882c553d389fdeeeace86ee1741\",\"lessThan\":\"67ba971ae02514d85818fe0c32549ab4bfa3bf49\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"2f3839075a5f8dcf116c1abe35b36b018ac62445\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"51ba2945a8ef65ae437c8f9ba05f0343aa82ae5b\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"b7d23c2c87584eb429f115c078ed511be8b18e29\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5.4.73\",\"lessThan\":\"5.5\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"5.8.17\",\"lessThan\":\"5.9\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"5.9.2\",\"lessThan\":\"5.10\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"net/bridge/netfilter/ebt_snat.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.10\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.10\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.259\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.210\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.176\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.143\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.94\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.36\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.0.13\",\"lessThanOrEqual\":\"7.0.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H\",\"baseScore\":8.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.0,\"impactScore\":6.0}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/153ea96c806aea395daba907a4f88480b6ad5093\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/67ba971ae02514d85818fe0c32549ab4bfa3bf49\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/76280b78cc9f23bdc6438e10ad6dff148ef8375b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/afd64b59c3de9bbbdd3759e834fdc55cda716e0b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b18675263db1147c8e1cab625400c13a0d87bd2d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/b7e91939ba9be805a62a257fa4e227dffbb88fa0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/bf84ad7c7a9ede46e31afaa41a1ba06a159e8c87\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c9b5ff59feffb92a147a84a5aa28acd2cb8ff4c5\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…