# CVE-2026-45844: netfilter: arp_tables: fix IEEE1394 ARP payload parsing

Status: published. Published: 2026-05-27. Updated: 2026-11-06.

In the Linux kernel, the following vulnerability has been resolved:

netfilter: arp_tables: fix IEEE1394 ARP payload parsing

Weiming Shi says:

"arp_packet_match() unconditionally parses the ARP payload assuming two
hardware addresses are present (source and target). However,
IPv4-over-IEEE1394 ARP (RFC 2734) omits the target hardware address
field, and arp_hdr_len() already accounts for this by returning a
shorter length for ARPHRD_IEEE1394 devices.

As a result, on IEEE1394 interfaces arp_packet_match() advances past a
nonexistent target hardware address and reads the wrong bytes for both
the target device address comparison and the target IP address. This
causes arptables rules to match against garbage data, leading to
incorrect filtering decisions: packets that should be accepted may be
dropped and vice versa.

The ARP stack in net/ipv4/arp.c (arp_create and arp_process) already
handles this correctly by skipping the target hardware address for
ARPHRD_IEEE1394. Apply the same pattern to arp_packet_match()."

Mangle the original patch to always return 0 (no match) in case user
matches on the target hardware address which is never present in
IEEE1394.

Note that this returns 0 (no match) for either normal and inverse match
because matching in the target hardware address in ARPHRD_IEEE1394 has
never been supported by arptables. This is intentional, matching on the
target hardware address should never evaluate true for ARPHRD_IEEE1394.

Moreover, adjust arpt_mangle to drop the packet too as AI suggests:

In arpt_mangle, the logic assumes a standard ARP layout. Because
IEEE1394 (FireWire) omits the target hardware address, the linear
pointer arithmetic miscalculates the offset for the target IP address.
This causes mangling operations to write to the wrong location, leading
to packet corruption. To ensure safety, this patch drops packets
(NF_DROP) when mangling is requested for these fields on IEEE1394
devices, as the current implementation cannot correctly map the FireWire
ARP payload.

This omits both mangling target hardware and IP address. Even if IP
address mangling should be possible in IEEE1394, this would require
to adjust arpt_mangle offset calculation, which has never been
supported.

Based on patch from Weiming Shi <bestswngs@gmail.com>.

## Remediation

No remediation reported in collected sources

## Affected products and versions

- Linux / Linux: ≥ 6752c8db8e0cfedb44ba62806dd15b383ed64000; < 0f23a1457695f1a61f64367e39f0f9cfa29947d1 (affected, git); ≥ 6752c8db8e0cfedb44ba62806dd15b383ed64000; < 1e285362ef7096eb12733370d59e033f4a1d294a (affected, git); ≥ 6752c8db8e0cfedb44ba62806dd15b383ed64000; < 84e8536c981338d0d8cc6e712cf71a936a93e13f (affected, git); ≥ 6752c8db8e0cfedb44ba62806dd15b383ed64000; < ad9973df8e0eeb123d9ec4d18828e05b7d44ff4b (affected, git); ≥ 6752c8db8e0cfedb44ba62806dd15b383ed64000; < 03ea11dbefaa55c502735ee551c89ef773fe753b (affected, git); ≥ 6752c8db8e0cfedb44ba62806dd15b383ed64000; < 1c55053f8ffdc060006df898fd3664e3d1bfac7b (affected, git); ≥ 6752c8db8e0cfedb44ba62806dd15b383ed64000; < ac698d81fd6619c7504cee913f1cab5285fba1b7 (affected, git); ≥ 6752c8db8e0cfedb44ba62806dd15b383ed64000; < 1e8e3f449b1e73b73a843257635b9c50f0cc0f0a (affected, git). Source: CNA: Linux
- Linux / Linux: 3.10 (affected); ≥ 0; < 3.10 (unaffected, semver); ≥ 5.10.258; ≤ 5.10.* (unaffected, semver); ≥ 5.15.209; ≤ 5.15.* (unaffected, semver); ≥ 6.1.175; ≤ 6.1.* (unaffected, semver); ≥ 6.6.141; ≤ 6.6.* (unaffected, semver); ≥ 6.12.91; ≤ 6.12.* (unaffected, semver); ≥ 6.18.33; ≤ 6.18.* (unaffected, semver); ≥ 7.0.10; ≤ 7.0.* (unaffected, semver); ≥ 7.1; ≤ * (unaffected, original_commit_for_fix). Source: CNA: Linux
- Siemens / SIMATIC S7-1500 TM MFP - GNU/Linux subsystem: ≥ 0; < * (affected, custom). Source: ADP: siemens-SADP

## Severity and prioritization

- CISA KEV: No listing in collected sources

- EPSS: 0.13% as of 2026-11-06; percentile 2.80%

- SSVC: exploitation none; automatable no; technical impact partial; source ADP: CISA-ADP

- Weaknesses: Not reported

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://git.kernel.org/stable/c/0f23a1457695f1a61f64367e39f0f9cfa29947d1 (CNA: Linux)

- https://git.kernel.org/stable/c/1e285362ef7096eb12733370d59e033f4a1d294a (CNA: Linux)

- https://git.kernel.org/stable/c/84e8536c981338d0d8cc6e712cf71a936a93e13f (CNA: Linux)

- https://git.kernel.org/stable/c/ad9973df8e0eeb123d9ec4d18828e05b7d44ff4b (CNA: Linux)

- https://git.kernel.org/stable/c/03ea11dbefaa55c502735ee551c89ef773fe753b (CNA: Linux)

- https://git.kernel.org/stable/c/1c55053f8ffdc060006df898fd3664e3d1bfac7b (CNA: Linux)

- https://git.kernel.org/stable/c/ac698d81fd6619c7504cee913f1cab5285fba1b7 (CNA: Linux)

- https://git.kernel.org/stable/c/1e8e3f449b1e73b73a843257635b9c50f0cc0f0a (CNA: Linux)

- https://cert-portal.siemens.com/productcert/html/ssa-784472.html (ADP: siemens-SADP)

## Provenance

- CNA: Linux: https://www.cve.org/CVERecord?id=CVE-2026-45844; retrieved 2026-11-06; source updated 2026-11-06

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2026-45844; retrieved 2026-11-06; source updated Not reported

Revision: db06cd8c9b48bc5c59e1ff7d387284ce80263eb2f43426a0786c5dd3a53b50c8

Canonical: https://y2.dev/cve/CVE-2026-45844

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.