{"api_version":"1","generated_at":"2026-06-26T09:30:00+00:00","cve":"CVE-2026-52927","urls":{"html":"https://cve.report/CVE-2026-52927","api":"https://cve.report/api/cve/CVE-2026-52927.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-52927","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-52927"},"summary":{"title":"netfilter: ebtables: fix OOB read in compat_mtw_from_user","description":"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's 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's 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->compat_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 ->compat_from_user() callbacks assume they can read compatsize bytes,\nso they need this extra check.\n\nBased on an earlier patch from Luxiao Xu.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-06-24 08:16:22","updated_at":"2026-06-24 08:16:22"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/d7a8fb6f10d55a1c37b0bf8c20cca24dffd76e00","name":"https://git.kernel.org/stable/c/d7a8fb6f10d55a1c37b0bf8c20cca24dffd76e00","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/f438d1786d657d57790c5d138d6db3fc9fdac392","name":"https://git.kernel.org/stable/c/f438d1786d657d57790c5d138d6db3fc9fdac392","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/7ad0e463fc7eafae2141cc38054264636f8b3e94","name":"https://git.kernel.org/stable/c/7ad0e463fc7eafae2141cc38054264636f8b3e94","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/dad9ebf8107955bb54bd3f9cf22591b6ff37bac1","name":"https://git.kernel.org/stable/c/dad9ebf8107955bb54bd3f9cf22591b6ff37bac1","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/21af4c030567d2e6c89bb927bc18b51fba52a400","name":"https://git.kernel.org/stable/c/21af4c030567d2e6c89bb927bc18b51fba52a400","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/a27cb7325a6c69970041c7f8541fafed5a1ea3ec","name":"https://git.kernel.org/stable/c/a27cb7325a6c69970041c7f8541fafed5a1ea3ec","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/fcc4c043d137e7f1de4673dba1f3116e45377c67","name":"https://git.kernel.org/stable/c/fcc4c043d137e7f1de4673dba1f3116e45377c67","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/bf8e8eac7ede51dc318e06acef5a896dcbba7595","name":"https://git.kernel.org/stable/c/bf8e8eac7ede51dc318e06acef5a896dcbba7595","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-52927","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-52927","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 81e675c227ec60a0bdcbb547dc530ebee23ff931 d7a8fb6f10d55a1c37b0bf8c20cca24dffd76e00 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 81e675c227ec60a0bdcbb547dc530ebee23ff931 21af4c030567d2e6c89bb927bc18b51fba52a400 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 81e675c227ec60a0bdcbb547dc530ebee23ff931 dad9ebf8107955bb54bd3f9cf22591b6ff37bac1 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 81e675c227ec60a0bdcbb547dc530ebee23ff931 a27cb7325a6c69970041c7f8541fafed5a1ea3ec git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 81e675c227ec60a0bdcbb547dc530ebee23ff931 7ad0e463fc7eafae2141cc38054264636f8b3e94 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 81e675c227ec60a0bdcbb547dc530ebee23ff931 bf8e8eac7ede51dc318e06acef5a896dcbba7595 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 81e675c227ec60a0bdcbb547dc530ebee23ff931 fcc4c043d137e7f1de4673dba1f3116e45377c67 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 81e675c227ec60a0bdcbb547dc530ebee23ff931 f438d1786d657d57790c5d138d6db3fc9fdac392 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2.6.34","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 2.6.34 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.259 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.210 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.176 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.143 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.93 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.35 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0.12 7.0.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"52927","cve":"CVE-2026-52927","epss":"0.001640000","percentile":"0.059650000","score_date":"2026-06-25","updated_at":"2026-06-26 00:06:15"},"legacy_qids":[]},"source_records":{"cve_program":{"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's 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's 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->compat_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 ->compat_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"},"nvd":{"publishedDate":"2026-06-24 08:16:22","lastModifiedDate":"2026-06-24 08:16:22","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"52927","Ordinal":"1","Title":"netfilter: ebtables: fix OOB read in compat_mtw_from_user","CVE":"CVE-2026-52927","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"52927","Ordinal":"1","NoteData":"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's 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's 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->compat_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 ->compat_from_user() callbacks assume they can read compatsize bytes,\nso they need this extra check.\n\nBased on an earlier patch from Luxiao Xu.","Type":"Description","Title":"netfilter: ebtables: fix OOB read in compat_mtw_from_user"}]}}}