CVE-2026-52927 (GCVE-0-2026-52927)
Vulnerability from cvelistv5 – Published: 2026-06-24 07:14 – Updated: 2026-06-24 07:14
VLAI
Title
netfilter: ebtables: fix OOB read in compat_mtw_from_user
Summary
In the Linux kernel, the following vulnerability has been resolved:
netfilter: ebtables: fix OOB read in compat_mtw_from_user
Luxiao Xu says:
The function compat_mtw_from_user() converts ebtables extensions from
32-bit user structures to kernel native structures. However, it lacks
proper validation of the user-supplied match_size/target_size.
When certain extensions are processed, the kernel-side translation
logic may perform memory accesses based on the extension's expected
size. If the user provides a size smaller than what the extension
requires, it results in an out-of-bounds read as reported by KASAN.
This fix introduces a check to ensure match_size is at least as large
as the extension's required compatsize. This covers matches, watchers,
and targets, while maintaining compatibility with standard targets.
AFAIU this is relevant for matches that need to go though
match->compat_from_user() call. Those that use plain memcpy with the
user-provided size are ok because the caller checks that size vs the
start of the next rule entry offset (which itself is checked vs. total
size copied from userspace).
The ->compat_from_user() callbacks assume they can read compatsize bytes,
so they need this extra check.
Based on an earlier patch from Luxiao Xu.
Severity
No CVSS data available.
Assigner
References
8 references
Impacted products
2 products
| Vendor | Product | Version | |
|---|---|---|---|
| Linux | Linux |
Affected:
81e675c227ec60a0bdcbb547dc530ebee23ff931 , < d7a8fb6f10d55a1c37b0bf8c20cca24dffd76e00
(git)
Affected: 81e675c227ec60a0bdcbb547dc530ebee23ff931 , < 21af4c030567d2e6c89bb927bc18b51fba52a400 (git) Affected: 81e675c227ec60a0bdcbb547dc530ebee23ff931 , < dad9ebf8107955bb54bd3f9cf22591b6ff37bac1 (git) Affected: 81e675c227ec60a0bdcbb547dc530ebee23ff931 , < a27cb7325a6c69970041c7f8541fafed5a1ea3ec (git) Affected: 81e675c227ec60a0bdcbb547dc530ebee23ff931 , < 7ad0e463fc7eafae2141cc38054264636f8b3e94 (git) Affected: 81e675c227ec60a0bdcbb547dc530ebee23ff931 , < bf8e8eac7ede51dc318e06acef5a896dcbba7595 (git) Affected: 81e675c227ec60a0bdcbb547dc530ebee23ff931 , < fcc4c043d137e7f1de4673dba1f3116e45377c67 (git) Affected: 81e675c227ec60a0bdcbb547dc530ebee23ff931 , < f438d1786d657d57790c5d138d6db3fc9fdac392 (git) |
|
| Linux | Linux |
Affected:
2.6.34
Unaffected: 0 , < 2.6.34 (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.93 , ≤ 6.12.* (semver) Unaffected: 6.18.35 , ≤ 6.18.* (semver) Unaffected: 7.0.12 , ≤ 7.0.* (semver) Unaffected: 7.1 , ≤ * (original_commit_for_fix) |
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"net/bridge/netfilter/ebtables.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "d7a8fb6f10d55a1c37b0bf8c20cca24dffd76e00",
"status": "affected",
"version": "81e675c227ec60a0bdcbb547dc530ebee23ff931",
"versionType": "git"
},
{
"lessThan": "21af4c030567d2e6c89bb927bc18b51fba52a400",
"status": "affected",
"version": "81e675c227ec60a0bdcbb547dc530ebee23ff931",
"versionType": "git"
},
{
"lessThan": "dad9ebf8107955bb54bd3f9cf22591b6ff37bac1",
"status": "affected",
"version": "81e675c227ec60a0bdcbb547dc530ebee23ff931",
"versionType": "git"
},
{
"lessThan": "a27cb7325a6c69970041c7f8541fafed5a1ea3ec",
"status": "affected",
"version": "81e675c227ec60a0bdcbb547dc530ebee23ff931",
"versionType": "git"
},
{
"lessThan": "7ad0e463fc7eafae2141cc38054264636f8b3e94",
"status": "affected",
"version": "81e675c227ec60a0bdcbb547dc530ebee23ff931",
"versionType": "git"
},
{
"lessThan": "bf8e8eac7ede51dc318e06acef5a896dcbba7595",
"status": "affected",
"version": "81e675c227ec60a0bdcbb547dc530ebee23ff931",
"versionType": "git"
},
{
"lessThan": "fcc4c043d137e7f1de4673dba1f3116e45377c67",
"status": "affected",
"version": "81e675c227ec60a0bdcbb547dc530ebee23ff931",
"versionType": "git"
},
{
"lessThan": "f438d1786d657d57790c5d138d6db3fc9fdac392",
"status": "affected",
"version": "81e675c227ec60a0bdcbb547dc530ebee23ff931",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"net/bridge/netfilter/ebtables.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "2.6.34"
},
{
"lessThan": "2.6.34",
"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.93",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.35",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.0.*",
"status": "unaffected",
"version": "7.0.12",
"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": "2.6.34",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.210",
"versionStartIncluding": "2.6.34",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.1.176",
"versionStartIncluding": "2.6.34",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.6.143",
"versionStartIncluding": "2.6.34",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.93",
"versionStartIncluding": "2.6.34",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.35",
"versionStartIncluding": "2.6.34",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.0.12",
"versionStartIncluding": "2.6.34",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1",
"versionStartIncluding": "2.6.34",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: ebtables: fix OOB read in compat_mtw_from_user\n\nLuxiao Xu says:\n\n The function compat_mtw_from_user() converts ebtables extensions from\n 32-bit user structures to kernel native structures. However, it lacks\n proper validation of the user-supplied match_size/target_size.\n\n When certain extensions are processed, the kernel-side translation\n logic may perform memory accesses based on the extension\u0027s expected\n size. If the user provides a size smaller than what the extension\n requires, it results in an out-of-bounds read as reported by KASAN.\n\n This fix introduces a check to ensure match_size is at least as large\n as the extension\u0027s required compatsize. This covers matches, watchers,\n and targets, while maintaining compatibility with standard targets.\n\nAFAIU this is relevant for matches that need to go though\nmatch-\u003ecompat_from_user() call. Those that use plain memcpy with the\nuser-provided size are ok because the caller checks that size vs the\nstart of the next rule entry offset (which itself is checked vs. total\nsize copied from userspace).\n\nThe -\u003ecompat_from_user() callbacks assume they can read compatsize bytes,\nso they need this extra check.\n\nBased on an earlier patch from Luxiao Xu."
}
],
"providerMetadata": {
"dateUpdated": "2026-06-24T07:14:20.704Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/d7a8fb6f10d55a1c37b0bf8c20cca24dffd76e00"
},
{
"url": "https://git.kernel.org/stable/c/21af4c030567d2e6c89bb927bc18b51fba52a400"
},
{
"url": "https://git.kernel.org/stable/c/dad9ebf8107955bb54bd3f9cf22591b6ff37bac1"
},
{
"url": "https://git.kernel.org/stable/c/a27cb7325a6c69970041c7f8541fafed5a1ea3ec"
},
{
"url": "https://git.kernel.org/stable/c/7ad0e463fc7eafae2141cc38054264636f8b3e94"
},
{
"url": "https://git.kernel.org/stable/c/bf8e8eac7ede51dc318e06acef5a896dcbba7595"
},
{
"url": "https://git.kernel.org/stable/c/fcc4c043d137e7f1de4673dba1f3116e45377c67"
},
{
"url": "https://git.kernel.org/stable/c/f438d1786d657d57790c5d138d6db3fc9fdac392"
}
],
"title": "netfilter: ebtables: fix OOB read in compat_mtw_from_user",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-52927",
"datePublished": "2026-06-24T07:14:20.704Z",
"dateReserved": "2026-06-09T07:44:35.368Z",
"dateUpdated": "2026-06-24T07:14:20.704Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-52927",
"date": "2026-06-24",
"epss": "0.00164",
"percentile": "0.05937"
}
}
}
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…