製品・ソフトウェアに関する情報
LinuxのLinux Kernelにおける不特定の脆弱性
Title LinuxのLinux Kernelにおける不特定の脆弱性
Summary

Linuxカーネルにおいて、以下の脆弱性が修正されました。netfilterのarp_tablesに関する問題で、IEEE1394 ARPペイロードの解析が修正されました。Weiming Shiによると、arp_packet_match()は常に送信元と宛先の2つのハードウェアアドレスが存在すると仮定してARPペイロードを解析していました。しかし、IPv4-over-IEEE1394 ARP (RFC 2734)では宛先ハードウェアアドレスのフィールドが省略されており、arp_hdr_len()はARPHRD_IEEE1394デバイスのためにすでに短い長さを返しています。その結果、IEEE1394インターフェース上でarp_packet_match()は存在しない宛先ハードウェアアドレスを読み飛ばし、ターゲットデバイスアドレス比較およびターゲットIPアドレスの両方で誤ったバイトを読み込んでしまっていました。これにより、arptablesルールはゴミデータに対してマッチし、不正確なフィルタリング判定が行われていました。つまり、許可されるべきパケットがドロップされることやその逆の現象が発生していました。net/ipv4/arp.cのARPスタック(arp_createおよびarp_process)は既にARPHRD_IEEE1394の場合に宛先ハードウェアアドレスをスキップすることでこの問題を正しく処理していました。この処理パターンをarp_packet_match()にも適用しました。元のパッチを改変し、IEEE1394で存在しない宛先ハードウェアアドレスにユーザーがマッチさせようとした場合は常に0(マッチしない)を返す仕様としました。これは通常マッチでも逆マッチでも0を返す仕様です。なぜなら、ARPHRD_IEEE1394の宛先ハードウェアアドレスでのマッチはarptablesではこれまでサポートされていない上、意図的に対象外とされていたためです。さらに、AIの指摘に従いarpt_mangleを調整してパケットもドロップする処理を追加しました。arpt_mangleは標準的なARPレイアウトを前提としていますが、IEEE1394 (FireWire) は宛先ハードウェアアドレスが省略されているため、ポインタ演算が誤った位置にずれてターゲットIPアドレスを誤解析し、マングリング操作が誤った位置に書き込まれる結果、パケット破損が生じていました。そのため、このフィールドに対するマングリングが要求された場合、安全のためIEEE1394デバイス上でパケットをドロップ(NF_DROP)するようにしました。現在の実装ではFireWire ARPペイロードを正しくマッピングできません。これにより、宛先ハードウェアアドレスおよびIPアドレスのマングリングは省かれます。たとえIEEE1394でIPアドレスのマングリングが可能であっても、arpt_mangleのオフセット計算を調整する必要があり、これまでサポートされていませんでした。この修正はWeiming Shi bestswngs@gmail.comのパッチに基づいています。

Possible impacts ・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う情報について、書き換えは発生しません。 ・当該ソフトウェアが完全に停止する可能性があります。 
Solution

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。

Publication Date May 27, 2026, midnight
Registration Date June 29, 2026, 11:17 a.m.
Last Update June 29, 2026, 11:17 a.m.
CVSS3.0 : 警告
Score 5.5
Vector CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Affected System
Linux
Linux Kernel 3.10 以上 5.10.258 未満
Linux Kernel 5.11 以上 5.15.209 未満
Linux Kernel 5.16 以上 6.1.175 未満
Linux Kernel 6.13 以上 6.18.33 未満
Linux Kernel 6.19 以上 7.0.10 未満
Linux Kernel 6.2 以上 6.6.141 未満
Linux Kernel 6.7 以上 6.12.91 未満
Linux Kernel 7.1
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年06月29日]
  掲載
June 29, 2026, 11:17 a.m.

NVD Vulnerability Information
CVE-2026-45844
Summary

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>.

Publication Date May 27, 2026, 8:16 p.m.
Registration Date May 28, 2026, 4:10 a.m.
Last Update June 2, 2026, 2:17 a.m.
Related information, measures and tools
Common Vulnerabilities List