{"api_version":"1","generated_at":"2026-06-24T12:16:54+00:00","cve":"CVE-2026-52942","urls":{"html":"https://cve.report/CVE-2026-52942","api":"https://cve.report/api/cve/CVE-2026-52942.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-52942","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-52942"},"summary":{"title":"netfilter: nf_log: validate MAC header was set before dumping it","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nf_log: validate MAC header was set before dumping it\n\nThe fallback path of dump_mac_header() guards the MAC header access\nonly with \"skb->mac_header != skb->network_header\", without checking\nskb_mac_header_was_set(). When the MAC header is unset, mac_header is\n0xffff, so the test passes and skb_mac_header(skb) returns\nskb->head + 0xffff, ~64 KiB past the buffer; the loop then reads\ndev->hard_header_len bytes out of bounds into the kernel log.\n\nThis is reachable via the netdev logger: nf_log_unknown_packet() calls\ndump_mac_header() unconditionally, and an skb sent through AF_PACKET\nwith PACKET_QDISC_BYPASS reaches the egress hook with mac_header still\nunset (__dev_queue_xmit(), which would reset it, is bypassed).\n\nAdd the skb_mac_header_was_set() check the ARPHRD_ETHER path already\nuses, and replace the open-coded MAC header length test with\nskb_mac_header_len(). Only skbs with an unset MAC header are affected;\nvalid ones are dumped as before.\n\n BUG: KASAN: slab-out-of-bounds in dump_mac_header (net/netfilter/nf_log_syslog.c:831)\n Read of size 1 at addr ffff88800ea49d3f by task exploit/148\n Call Trace:\n  kasan_report (mm/kasan/report.c:595)\n  dump_mac_header (net/netfilter/nf_log_syslog.c:831)\n  nf_log_netdev_packet (net/netfilter/nf_log_syslog.c:938 net/netfilter/nf_log_syslog.c:963)\n  nf_log_packet (net/netfilter/nf_log.c:260)\n  nft_log_eval (net/netfilter/nft_log.c:60)\n  nft_do_chain (net/netfilter/nf_tables_core.c:285)\n  nft_do_chain_netdev (net/netfilter/nft_chain_filter.c:307)\n  nf_hook_slow (net/netfilter/core.c:619)\n  nf_hook_direct_egress (net/packet/af_packet.c:257)\n  packet_xmit (net/packet/af_packet.c:280)\n  packet_sendmsg (net/packet/af_packet.c:3114)\n  __sys_sendto (net/socket.c:2265)","state":"PUBLISHED","assigner":"Linux","published_at":"2026-06-24 08:16:24","updated_at":"2026-06-24 08:16:24"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/a84b6fedbc97078788be78dbdd7517d143ad1a77","name":"https://git.kernel.org/stable/c/a84b6fedbc97078788be78dbdd7517d143ad1a77","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/d704ee9c7bc68a161684c51a7ac05b446dcf38d4","name":"https://git.kernel.org/stable/c/d704ee9c7bc68a161684c51a7ac05b446dcf38d4","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/65ef7397eb9a296e91839f5fd10be96f23d332e7","name":"https://git.kernel.org/stable/c/65ef7397eb9a296e91839f5fd10be96f23d332e7","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/af1b7699466f6556b351fa25d3dc870abfb5d310","name":"https://git.kernel.org/stable/c/af1b7699466f6556b351fa25d3dc870abfb5d310","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/8a81e336da685423f5b64aac4d571e63d674c52a","name":"https://git.kernel.org/stable/c/8a81e336da685423f5b64aac4d571e63d674c52a","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/befb8968a2abdfa948d5600ea7f7a509a292a590","name":"https://git.kernel.org/stable/c/befb8968a2abdfa948d5600ea7f7a509a292a590","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/c38d41134085193efd5b237cf513ad5b3421a60d","name":"https://git.kernel.org/stable/c/c38d41134085193efd5b237cf513ad5b3421a60d","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-52942","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-52942","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 7eb9282cd0efac08b8377cbd5037ba297c77e3f7 d704ee9c7bc68a161684c51a7ac05b446dcf38d4 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 7eb9282cd0efac08b8377cbd5037ba297c77e3f7 befb8968a2abdfa948d5600ea7f7a509a292a590 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 7eb9282cd0efac08b8377cbd5037ba297c77e3f7 8a81e336da685423f5b64aac4d571e63d674c52a git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 7eb9282cd0efac08b8377cbd5037ba297c77e3f7 c38d41134085193efd5b237cf513ad5b3421a60d git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 7eb9282cd0efac08b8377cbd5037ba297c77e3f7 af1b7699466f6556b351fa25d3dc870abfb5d310 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 7eb9282cd0efac08b8377cbd5037ba297c77e3f7 65ef7397eb9a296e91839f5fd10be96f23d332e7 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 7eb9282cd0efac08b8377cbd5037ba297c77e3f7 a84b6fedbc97078788be78dbdd7517d143ad1a77 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2.6.36","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 2.6.36 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.94 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.36 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0.13 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":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["net/netfilter/nf_log_syslog.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"d704ee9c7bc68a161684c51a7ac05b446dcf38d4","status":"affected","version":"7eb9282cd0efac08b8377cbd5037ba297c77e3f7","versionType":"git"},{"lessThan":"befb8968a2abdfa948d5600ea7f7a509a292a590","status":"affected","version":"7eb9282cd0efac08b8377cbd5037ba297c77e3f7","versionType":"git"},{"lessThan":"8a81e336da685423f5b64aac4d571e63d674c52a","status":"affected","version":"7eb9282cd0efac08b8377cbd5037ba297c77e3f7","versionType":"git"},{"lessThan":"c38d41134085193efd5b237cf513ad5b3421a60d","status":"affected","version":"7eb9282cd0efac08b8377cbd5037ba297c77e3f7","versionType":"git"},{"lessThan":"af1b7699466f6556b351fa25d3dc870abfb5d310","status":"affected","version":"7eb9282cd0efac08b8377cbd5037ba297c77e3f7","versionType":"git"},{"lessThan":"65ef7397eb9a296e91839f5fd10be96f23d332e7","status":"affected","version":"7eb9282cd0efac08b8377cbd5037ba297c77e3f7","versionType":"git"},{"lessThan":"a84b6fedbc97078788be78dbdd7517d143ad1a77","status":"affected","version":"7eb9282cd0efac08b8377cbd5037ba297c77e3f7","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["net/netfilter/nf_log_syslog.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"2.6.36"},{"lessThan":"2.6.36","status":"unaffected","version":"0","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.15.210","versionStartIncluding":"2.6.36","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.176","versionStartIncluding":"2.6.36","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.143","versionStartIncluding":"2.6.36","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.94","versionStartIncluding":"2.6.36","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.36","versionStartIncluding":"2.6.36","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0.13","versionStartIncluding":"2.6.36","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1","versionStartIncluding":"2.6.36","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nf_log: validate MAC header was set before dumping it\n\nThe fallback path of dump_mac_header() guards the MAC header access\nonly with \"skb->mac_header != skb->network_header\", without checking\nskb_mac_header_was_set(). When the MAC header is unset, mac_header is\n0xffff, so the test passes and skb_mac_header(skb) returns\nskb->head + 0xffff, ~64 KiB past the buffer; the loop then reads\ndev->hard_header_len bytes out of bounds into the kernel log.\n\nThis is reachable via the netdev logger: nf_log_unknown_packet() calls\ndump_mac_header() unconditionally, and an skb sent through AF_PACKET\nwith PACKET_QDISC_BYPASS reaches the egress hook with mac_header still\nunset (__dev_queue_xmit(), which would reset it, is bypassed).\n\nAdd the skb_mac_header_was_set() check the ARPHRD_ETHER path already\nuses, and replace the open-coded MAC header length test with\nskb_mac_header_len(). Only skbs with an unset MAC header are affected;\nvalid ones are dumped as before.\n\n BUG: KASAN: slab-out-of-bounds in dump_mac_header (net/netfilter/nf_log_syslog.c:831)\n Read of size 1 at addr ffff88800ea49d3f by task exploit/148\n Call Trace:\n  kasan_report (mm/kasan/report.c:595)\n  dump_mac_header (net/netfilter/nf_log_syslog.c:831)\n  nf_log_netdev_packet (net/netfilter/nf_log_syslog.c:938 net/netfilter/nf_log_syslog.c:963)\n  nf_log_packet (net/netfilter/nf_log.c:260)\n  nft_log_eval (net/netfilter/nft_log.c:60)\n  nft_do_chain (net/netfilter/nf_tables_core.c:285)\n  nft_do_chain_netdev (net/netfilter/nft_chain_filter.c:307)\n  nf_hook_slow (net/netfilter/core.c:619)\n  nf_hook_direct_egress (net/packet/af_packet.c:257)\n  packet_xmit (net/packet/af_packet.c:280)\n  packet_sendmsg (net/packet/af_packet.c:3114)\n  __sys_sendto (net/socket.c:2265)"}],"providerMetadata":{"dateUpdated":"2026-06-24T07:14:30.610Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/d704ee9c7bc68a161684c51a7ac05b446dcf38d4"},{"url":"https://git.kernel.org/stable/c/befb8968a2abdfa948d5600ea7f7a509a292a590"},{"url":"https://git.kernel.org/stable/c/8a81e336da685423f5b64aac4d571e63d674c52a"},{"url":"https://git.kernel.org/stable/c/c38d41134085193efd5b237cf513ad5b3421a60d"},{"url":"https://git.kernel.org/stable/c/af1b7699466f6556b351fa25d3dc870abfb5d310"},{"url":"https://git.kernel.org/stable/c/65ef7397eb9a296e91839f5fd10be96f23d332e7"},{"url":"https://git.kernel.org/stable/c/a84b6fedbc97078788be78dbdd7517d143ad1a77"}],"title":"netfilter: nf_log: validate MAC header was set before dumping it","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-52942","datePublished":"2026-06-24T07:14:30.610Z","dateReserved":"2026-06-09T07:44:35.370Z","dateUpdated":"2026-06-24T07:14:30.610Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-06-24 08:16:24","lastModifiedDate":"2026-06-24 08:16:24","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"52942","Ordinal":"1","Title":"netfilter: nf_log: validate MAC header was set before dumping it","CVE":"CVE-2026-52942","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"52942","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nf_log: validate MAC header was set before dumping it\n\nThe fallback path of dump_mac_header() guards the MAC header access\nonly with \"skb->mac_header != skb->network_header\", without checking\nskb_mac_header_was_set(). When the MAC header is unset, mac_header is\n0xffff, so the test passes and skb_mac_header(skb) returns\nskb->head + 0xffff, ~64 KiB past the buffer; the loop then reads\ndev->hard_header_len bytes out of bounds into the kernel log.\n\nThis is reachable via the netdev logger: nf_log_unknown_packet() calls\ndump_mac_header() unconditionally, and an skb sent through AF_PACKET\nwith PACKET_QDISC_BYPASS reaches the egress hook with mac_header still\nunset (__dev_queue_xmit(), which would reset it, is bypassed).\n\nAdd the skb_mac_header_was_set() check the ARPHRD_ETHER path already\nuses, and replace the open-coded MAC header length test with\nskb_mac_header_len(). Only skbs with an unset MAC header are affected;\nvalid ones are dumped as before.\n\n BUG: KASAN: slab-out-of-bounds in dump_mac_header (net/netfilter/nf_log_syslog.c:831)\n Read of size 1 at addr ffff88800ea49d3f by task exploit/148\n Call Trace:\n  kasan_report (mm/kasan/report.c:595)\n  dump_mac_header (net/netfilter/nf_log_syslog.c:831)\n  nf_log_netdev_packet (net/netfilter/nf_log_syslog.c:938 net/netfilter/nf_log_syslog.c:963)\n  nf_log_packet (net/netfilter/nf_log.c:260)\n  nft_log_eval (net/netfilter/nft_log.c:60)\n  nft_do_chain (net/netfilter/nf_tables_core.c:285)\n  nft_do_chain_netdev (net/netfilter/nft_chain_filter.c:307)\n  nf_hook_slow (net/netfilter/core.c:619)\n  nf_hook_direct_egress (net/packet/af_packet.c:257)\n  packet_xmit (net/packet/af_packet.c:280)\n  packet_sendmsg (net/packet/af_packet.c:3114)\n  __sys_sendto (net/socket.c:2265)","Type":"Description","Title":"netfilter: nf_log: validate MAC header was set before dumping it"}]}}}