{"api_version":"1","generated_at":"2026-06-03T11:06:50+00:00","cve":"CVE-2026-45844","urls":{"html":"https://cve.report/CVE-2026-45844","api":"https://cve.report/api/cve/CVE-2026-45844.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-45844","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-45844"},"summary":{"title":"netfilter: arp_tables: fix IEEE1394 ARP payload parsing","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: arp_tables: fix IEEE1394 ARP payload parsing\n\nWeiming Shi says:\n\n\"arp_packet_match() unconditionally parses the ARP payload assuming two\nhardware addresses are present (source and target). However,\nIPv4-over-IEEE1394 ARP (RFC 2734) omits the target hardware address\nfield, and arp_hdr_len() already accounts for this by returning a\nshorter length for ARPHRD_IEEE1394 devices.\n\nAs a result, on IEEE1394 interfaces arp_packet_match() advances past a\nnonexistent target hardware address and reads the wrong bytes for both\nthe target device address comparison and the target IP address. This\ncauses arptables rules to match against garbage data, leading to\nincorrect filtering decisions: packets that should be accepted may be\ndropped and vice versa.\n\nThe ARP stack in net/ipv4/arp.c (arp_create and arp_process) already\nhandles this correctly by skipping the target hardware address for\nARPHRD_IEEE1394. Apply the same pattern to arp_packet_match().\"\n\nMangle the original patch to always return 0 (no match) in case user\nmatches on the target hardware address which is never present in\nIEEE1394.\n\nNote that this returns 0 (no match) for either normal and inverse match\nbecause matching in the target hardware address in ARPHRD_IEEE1394 has\nnever been supported by arptables. This is intentional, matching on the\ntarget hardware address should never evaluate true for ARPHRD_IEEE1394.\n\nMoreover, adjust arpt_mangle to drop the packet too as AI suggests:\n\nIn arpt_mangle, the logic assumes a standard ARP layout. Because\nIEEE1394 (FireWire) omits the target hardware address, the linear\npointer arithmetic miscalculates the offset for the target IP address.\nThis causes mangling operations to write to the wrong location, leading\nto packet corruption. To ensure safety, this patch drops packets\n(NF_DROP) when mangling is requested for these fields on IEEE1394\ndevices, as the current implementation cannot correctly map the FireWire\nARP payload.\n\nThis omits both mangling target hardware and IP address. Even if IP\naddress mangling should be possible in IEEE1394, this would require\nto adjust arpt_mangle offset calculation, which has never been\nsupported.\n\nBased on patch from Weiming Shi <bestswngs@gmail.com>.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-05-27 11:16:23","updated_at":"2026-06-01 17:17:14"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/ad9973df8e0eeb123d9ec4d18828e05b7d44ff4b","name":"https://git.kernel.org/stable/c/ad9973df8e0eeb123d9ec4d18828e05b7d44ff4b","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/0f23a1457695f1a61f64367e39f0f9cfa29947d1","name":"https://git.kernel.org/stable/c/0f23a1457695f1a61f64367e39f0f9cfa29947d1","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/1c55053f8ffdc060006df898fd3664e3d1bfac7b","name":"https://git.kernel.org/stable/c/1c55053f8ffdc060006df898fd3664e3d1bfac7b","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/1e285362ef7096eb12733370d59e033f4a1d294a","name":"https://git.kernel.org/stable/c/1e285362ef7096eb12733370d59e033f4a1d294a","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/1e8e3f449b1e73b73a843257635b9c50f0cc0f0a","name":"https://git.kernel.org/stable/c/1e8e3f449b1e73b73a843257635b9c50f0cc0f0a","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/84e8536c981338d0d8cc6e712cf71a936a93e13f","name":"https://git.kernel.org/stable/c/84e8536c981338d0d8cc6e712cf71a936a93e13f","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/03ea11dbefaa55c502735ee551c89ef773fe753b","name":"https://git.kernel.org/stable/c/03ea11dbefaa55c502735ee551c89ef773fe753b","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/ac698d81fd6619c7504cee913f1cab5285fba1b7","name":"https://git.kernel.org/stable/c/ac698d81fd6619c7504cee913f1cab5285fba1b7","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-45844","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-45844","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6752c8db8e0cfedb44ba62806dd15b383ed64000 0f23a1457695f1a61f64367e39f0f9cfa29947d1 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6752c8db8e0cfedb44ba62806dd15b383ed64000 1e285362ef7096eb12733370d59e033f4a1d294a git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6752c8db8e0cfedb44ba62806dd15b383ed64000 84e8536c981338d0d8cc6e712cf71a936a93e13f git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6752c8db8e0cfedb44ba62806dd15b383ed64000 ad9973df8e0eeb123d9ec4d18828e05b7d44ff4b git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6752c8db8e0cfedb44ba62806dd15b383ed64000 03ea11dbefaa55c502735ee551c89ef773fe753b git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6752c8db8e0cfedb44ba62806dd15b383ed64000 1c55053f8ffdc060006df898fd3664e3d1bfac7b git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6752c8db8e0cfedb44ba62806dd15b383ed64000 ac698d81fd6619c7504cee913f1cab5285fba1b7 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6752c8db8e0cfedb44ba62806dd15b383ed64000 1e8e3f449b1e73b73a843257635b9c50f0cc0f0a git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 3.10","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 3.10 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.258 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.209 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.175 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.141 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.91 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.33 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0.10 7.0.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1-rc2 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"45844","cve":"CVE-2026-45844","epss":"0.000370000","percentile":"0.112990000","score_date":"2026-06-02","updated_at":"2026-06-03 00:08:16"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["net/ipv4/netfilter/arp_tables.c","net/ipv4/netfilter/arpt_mangle.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"0f23a1457695f1a61f64367e39f0f9cfa29947d1","status":"affected","version":"6752c8db8e0cfedb44ba62806dd15b383ed64000","versionType":"git"},{"lessThan":"1e285362ef7096eb12733370d59e033f4a1d294a","status":"affected","version":"6752c8db8e0cfedb44ba62806dd15b383ed64000","versionType":"git"},{"lessThan":"84e8536c981338d0d8cc6e712cf71a936a93e13f","status":"affected","version":"6752c8db8e0cfedb44ba62806dd15b383ed64000","versionType":"git"},{"lessThan":"ad9973df8e0eeb123d9ec4d18828e05b7d44ff4b","status":"affected","version":"6752c8db8e0cfedb44ba62806dd15b383ed64000","versionType":"git"},{"lessThan":"03ea11dbefaa55c502735ee551c89ef773fe753b","status":"affected","version":"6752c8db8e0cfedb44ba62806dd15b383ed64000","versionType":"git"},{"lessThan":"1c55053f8ffdc060006df898fd3664e3d1bfac7b","status":"affected","version":"6752c8db8e0cfedb44ba62806dd15b383ed64000","versionType":"git"},{"lessThan":"ac698d81fd6619c7504cee913f1cab5285fba1b7","status":"affected","version":"6752c8db8e0cfedb44ba62806dd15b383ed64000","versionType":"git"},{"lessThan":"1e8e3f449b1e73b73a843257635b9c50f0cc0f0a","status":"affected","version":"6752c8db8e0cfedb44ba62806dd15b383ed64000","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["net/ipv4/netfilter/arp_tables.c","net/ipv4/netfilter/arpt_mangle.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"3.10"},{"lessThan":"3.10","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.258","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.209","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.175","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.141","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.91","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.33","versionType":"semver"},{"lessThanOrEqual":"7.0.*","status":"unaffected","version":"7.0.10","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.1-rc2","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.258","versionStartIncluding":"3.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.209","versionStartIncluding":"3.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.175","versionStartIncluding":"3.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.141","versionStartIncluding":"3.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.91","versionStartIncluding":"3.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.33","versionStartIncluding":"3.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0.10","versionStartIncluding":"3.10","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1-rc2","versionStartIncluding":"3.10","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: arp_tables: fix IEEE1394 ARP payload parsing\n\nWeiming Shi says:\n\n\"arp_packet_match() unconditionally parses the ARP payload assuming two\nhardware addresses are present (source and target). However,\nIPv4-over-IEEE1394 ARP (RFC 2734) omits the target hardware address\nfield, and arp_hdr_len() already accounts for this by returning a\nshorter length for ARPHRD_IEEE1394 devices.\n\nAs a result, on IEEE1394 interfaces arp_packet_match() advances past a\nnonexistent target hardware address and reads the wrong bytes for both\nthe target device address comparison and the target IP address. This\ncauses arptables rules to match against garbage data, leading to\nincorrect filtering decisions: packets that should be accepted may be\ndropped and vice versa.\n\nThe ARP stack in net/ipv4/arp.c (arp_create and arp_process) already\nhandles this correctly by skipping the target hardware address for\nARPHRD_IEEE1394. Apply the same pattern to arp_packet_match().\"\n\nMangle the original patch to always return 0 (no match) in case user\nmatches on the target hardware address which is never present in\nIEEE1394.\n\nNote that this returns 0 (no match) for either normal and inverse match\nbecause matching in the target hardware address in ARPHRD_IEEE1394 has\nnever been supported by arptables. This is intentional, matching on the\ntarget hardware address should never evaluate true for ARPHRD_IEEE1394.\n\nMoreover, adjust arpt_mangle to drop the packet too as AI suggests:\n\nIn arpt_mangle, the logic assumes a standard ARP layout. Because\nIEEE1394 (FireWire) omits the target hardware address, the linear\npointer arithmetic miscalculates the offset for the target IP address.\nThis causes mangling operations to write to the wrong location, leading\nto packet corruption. To ensure safety, this patch drops packets\n(NF_DROP) when mangling is requested for these fields on IEEE1394\ndevices, as the current implementation cannot correctly map the FireWire\nARP payload.\n\nThis omits both mangling target hardware and IP address. Even if IP\naddress mangling should be possible in IEEE1394, this would require\nto adjust arpt_mangle offset calculation, which has never been\nsupported.\n\nBased on patch from Weiming Shi <bestswngs@gmail.com>."}],"providerMetadata":{"dateUpdated":"2026-06-01T16:16:37.255Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/0f23a1457695f1a61f64367e39f0f9cfa29947d1"},{"url":"https://git.kernel.org/stable/c/1e285362ef7096eb12733370d59e033f4a1d294a"},{"url":"https://git.kernel.org/stable/c/84e8536c981338d0d8cc6e712cf71a936a93e13f"},{"url":"https://git.kernel.org/stable/c/ad9973df8e0eeb123d9ec4d18828e05b7d44ff4b"},{"url":"https://git.kernel.org/stable/c/03ea11dbefaa55c502735ee551c89ef773fe753b"},{"url":"https://git.kernel.org/stable/c/1c55053f8ffdc060006df898fd3664e3d1bfac7b"},{"url":"https://git.kernel.org/stable/c/ac698d81fd6619c7504cee913f1cab5285fba1b7"},{"url":"https://git.kernel.org/stable/c/1e8e3f449b1e73b73a843257635b9c50f0cc0f0a"}],"title":"netfilter: arp_tables: fix IEEE1394 ARP payload parsing","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-45844","datePublished":"2026-05-27T09:24:47.041Z","dateReserved":"2026-05-13T15:03:33.078Z","dateUpdated":"2026-06-01T16:16:37.255Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-05-27 11:16:23","lastModifiedDate":"2026-06-01 17:17:14","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"45844","Ordinal":"1","Title":"netfilter: arp_tables: fix IEEE1394 ARP payload parsing","CVE":"CVE-2026-45844","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"45844","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: arp_tables: fix IEEE1394 ARP payload parsing\n\nWeiming Shi says:\n\n\"arp_packet_match() unconditionally parses the ARP payload assuming two\nhardware addresses are present (source and target). However,\nIPv4-over-IEEE1394 ARP (RFC 2734) omits the target hardware address\nfield, and arp_hdr_len() already accounts for this by returning a\nshorter length for ARPHRD_IEEE1394 devices.\n\nAs a result, on IEEE1394 interfaces arp_packet_match() advances past a\nnonexistent target hardware address and reads the wrong bytes for both\nthe target device address comparison and the target IP address. This\ncauses arptables rules to match against garbage data, leading to\nincorrect filtering decisions: packets that should be accepted may be\ndropped and vice versa.\n\nThe ARP stack in net/ipv4/arp.c (arp_create and arp_process) already\nhandles this correctly by skipping the target hardware address for\nARPHRD_IEEE1394. Apply the same pattern to arp_packet_match().\"\n\nMangle the original patch to always return 0 (no match) in case user\nmatches on the target hardware address which is never present in\nIEEE1394.\n\nNote that this returns 0 (no match) for either normal and inverse match\nbecause matching in the target hardware address in ARPHRD_IEEE1394 has\nnever been supported by arptables. This is intentional, matching on the\ntarget hardware address should never evaluate true for ARPHRD_IEEE1394.\n\nMoreover, adjust arpt_mangle to drop the packet too as AI suggests:\n\nIn arpt_mangle, the logic assumes a standard ARP layout. Because\nIEEE1394 (FireWire) omits the target hardware address, the linear\npointer arithmetic miscalculates the offset for the target IP address.\nThis causes mangling operations to write to the wrong location, leading\nto packet corruption. To ensure safety, this patch drops packets\n(NF_DROP) when mangling is requested for these fields on IEEE1394\ndevices, as the current implementation cannot correctly map the FireWire\nARP payload.\n\nThis omits both mangling target hardware and IP address. Even if IP\naddress mangling should be possible in IEEE1394, this would require\nto adjust arpt_mangle offset calculation, which has never been\nsupported.\n\nBased on patch from Weiming Shi <bestswngs@gmail.com>.","Type":"Description","Title":"netfilter: arp_tables: fix IEEE1394 ARP payload parsing"}]}}}