CVE-2026-45844
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
27/05/2026
Last modified:
27/05/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
netfilter: arp_tables: fix IEEE1394 ARP payload parsing<br />
<br />
Weiming Shi says:<br />
<br />
"arp_packet_match() unconditionally parses the ARP payload assuming two<br />
hardware addresses are present (source and target). However,<br />
IPv4-over-IEEE1394 ARP (RFC 2734) omits the target hardware address<br />
field, and arp_hdr_len() already accounts for this by returning a<br />
shorter length for ARPHRD_IEEE1394 devices.<br />
<br />
As a result, on IEEE1394 interfaces arp_packet_match() advances past a<br />
nonexistent target hardware address and reads the wrong bytes for both<br />
the target device address comparison and the target IP address. This<br />
causes arptables rules to match against garbage data, leading to<br />
incorrect filtering decisions: packets that should be accepted may be<br />
dropped and vice versa.<br />
<br />
The ARP stack in net/ipv4/arp.c (arp_create and arp_process) already<br />
handles this correctly by skipping the target hardware address for<br />
ARPHRD_IEEE1394. Apply the same pattern to arp_packet_match()."<br />
<br />
Mangle the original patch to always return 0 (no match) in case user<br />
matches on the target hardware address which is never present in<br />
IEEE1394.<br />
<br />
Note that this returns 0 (no match) for either normal and inverse match<br />
because matching in the target hardware address in ARPHRD_IEEE1394 has<br />
never been supported by arptables. This is intentional, matching on the<br />
target hardware address should never evaluate true for ARPHRD_IEEE1394.<br />
<br />
Moreover, adjust arpt_mangle to drop the packet too as AI suggests:<br />
<br />
In arpt_mangle, the logic assumes a standard ARP layout. Because<br />
IEEE1394 (FireWire) omits the target hardware address, the linear<br />
pointer arithmetic miscalculates the offset for the target IP address.<br />
This causes mangling operations to write to the wrong location, leading<br />
to packet corruption. To ensure safety, this patch drops packets<br />
(NF_DROP) when mangling is requested for these fields on IEEE1394<br />
devices, as the current implementation cannot correctly map the FireWire<br />
ARP payload.<br />
<br />
This omits both mangling target hardware and IP address. Even if IP<br />
address mangling should be possible in IEEE1394, this would require<br />
to adjust arpt_mangle offset calculation, which has never been<br />
supported.<br />
<br />
Based on patch from Weiming Shi .
Impact
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/03ea11dbefaa55c502735ee551c89ef773fe753b
- https://git.kernel.org/stable/c/1c55053f8ffdc060006df898fd3664e3d1bfac7b
- https://git.kernel.org/stable/c/1e8e3f449b1e73b73a843257635b9c50f0cc0f0a
- https://git.kernel.org/stable/c/ac698d81fd6619c7504cee913f1cab5285fba1b7
- https://git.kernel.org/stable/c/ad9973df8e0eeb123d9ec4d18828e05b7d44ff4b



