CVE-2026-74579 in Linux
要約
〜によって VulDB • 2026年08月17日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
netfilter: nft_payload: partial field offloadにおけるマスク構築の修正
nft_payload_offload_mask()関数は、ヘッダーフィールドの一部のみをカバーするペイロード式に対するオフロードマッチング用のマスクを作成します。IPv6アドレスの部分一致(field_len = 16, priv_len = 1)の場合、シフト演算は `1 << 120` となり、32ビットのintオペランド上では未定義動作となります。また、この処理は1ワード分しかトリミングしないため、残りのワードはすべて `0xffffffff` のままになり(priv_lenが4の倍数の場合にはトリミング自体がスキップされます)、その結果、ルールで一致する範囲よりも多くのバイトをカバーしてしまうマスクになってしまいます。
UBSAN: net/netfilter/nft_payload.c:278:20における境界外シフト シフト演算子右辺値120は32ビット型'int'に対して大きすぎます ...
マッチング処理はバイト単位であり、`struct nft_data` はゼロ初期化されているため、正しいマスクは単に最初の `priv_len` バイトを `0xff` に設定するだけです。これらのバイトを直接設定し、ワード/シフトによるトリミング処理を削除します。これにより未定義のシフト演算が解消され、末尾のバイトに対する過剰なマスキングも防止されます。
If you want to get best quality of vulnerability data, you may have to visit VulDB.