LinuxのLinux Kernelにおける境界外読み取りに関する脆弱性
タイトル LinuxのLinux Kernelにおける境界外読み取りに関する脆弱性
概要

Linuxカーネルにおいて、以下の脆弱性が修正されました:netfilterのnft_set_pipapoサブシステム内に存在したpipapo_drop()関数におけるスタックの境界外読み取りの問題です。pipapo_drop()はすべての反復でrulemap[i + 1].nをpipapo_unmap()のto_offset引数として渡していました。最後の反復(i == m-field_count - 1)も含まれていました。これにより、スタック上に確保されたrulemap配列(rulemap[NFT_PIPAPO_MAX_FIELDS]として宣言され、NFT_PIPAPO_MAX_FIELDSは16です)を1要素分超えて読み込むことが発生していました。pipapo_unmap()はis_lastがtrueの場合、to_offset値を使用せずに早期リターンしますが、引数は関数本体が実行される前に呼び出し元で評価されるため、本物のスタックの境界外読み取りとなっており、KASANによって検出されました。具体的には、BUG: KASAN: stack-out-of-bounds in pipapo_drop+0x50c/0x57c [nf_tables]、サイズ4の読み取りがアドレスffff8000810e71a4で発生しました。このフレームには1つのオブジェクトがあり、その範囲は[32, 160)の'rulemap'です。バグのあるアドレスはオフセット164で、rulemap配列の末尾を正確に4バイト超えています。問題を解決するために、最終反復時にはrulemap[i + 1].nの代わりに0を渡すことで境界外読み取りを回避しました。

想定される影響 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
対策

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

公表日 2026年5月8日0:00
登録日 2026年5月25日10:20
最終更新日 2026年5月25日10:20
CVSS3.0 : 重要
スコア 7.1
ベクター CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
影響を受けるシステム
Linux
Linux Kernel 5.11 以上 5.15.203 未満
Linux Kernel 5.16 以上 6.1.167 未満
Linux Kernel 5.6 以上 5.10.253 未満
Linux Kernel 6.13 以上 6.18.19 未満
Linux Kernel 6.19 以上 6.19.9 未満
Linux Kernel 6.2 以上 6.6.130 未満
Linux Kernel 6.7 以上 6.12.78 未満
Linux Kernel 7.0
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2026年05月25日]
  掲載
2026年5月25日10:20

NVD脆弱性情報
CVE-2026-43453
概要

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

netfilter: nft_set_pipapo: fix stack out-of-bounds read in pipapo_drop()

pipapo_drop() passes rulemap[i + 1].n to pipapo_unmap() as the
to_offset argument on every iteration, including the last one where
i == m->field_count - 1. This reads one element past the end of the
stack-allocated rulemap array (declared as rulemap[NFT_PIPAPO_MAX_FIELDS]
with NFT_PIPAPO_MAX_FIELDS == 16).

Although pipapo_unmap() returns early when is_last is true without
using the to_offset value, the argument is evaluated at the call site
before the function body executes, making this a genuine out-of-bounds
stack read confirmed by KASAN:

BUG: KASAN: stack-out-of-bounds in pipapo_drop+0x50c/0x57c [nf_tables]
Read of size 4 at addr ffff8000810e71a4

This frame has 1 object:
[32, 160) 'rulemap'

The buggy address is at offset 164 -- exactly 4 bytes past the end
of the rulemap array.

Pass 0 instead of rulemap[i + 1].n on the last iteration to avoid
the out-of-bounds read.

公表日 2026年5月9日0:16
登録日 2026年5月9日4:15
最終更新日 2026年5月12日23:10
関連情報、対策とツール
共通脆弱性一覧