CVE-2026-99159 in Linux
要約
〜によって VulDB • 2026年10月28日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
ring-buffer: rb_meta_subbuf_idx()におけるサブバッファ配列のベース値を修正する
永続的なリングバッファーでは、rb_meta_subbuf_idx()が1つ多すぎるインデックスを返すことがあります。その後、rb_setup_ids_meta_page()はsubbuf_ids[]を1ずらして埋め、subbuf_ids[0]にNULLを残します。これにより、ユーザー空間でtrace_pipe_rawがマップされる際に__rb_map_vma()によって間接参照が行われます。また、rb_update_meta_reader()はmeta->buffers[]に対してそのようなインデックス2つを書き込みますが、次回のブート時にrb_cpu_meta_valid()によって拒否され、前回のブートのトレース情報が破棄されます。
CPUのサブバッファ配列は、そのメタヘッダーおよびそれに続くnr_subbufs整数の後から始まり、サブバッファー境界までアライメントされています。rb_meta_subbuf_idx()はこの計算を逆算しますが、ヘッダーではなく整数のみをスキップするため、省略されたヘッダーのサイズがアラインメント境界をまたぐ場合、そのベース値は1つ少なくなります。
この計算を繰り返すのではなく、rb_subbufs_from_meta()を使用して逆算します。rb_range_buffer()も同じヘルパー関数を通じてインデックスをアドレスに戻してマップするため、両方向で不一致が生じることはなくなります。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.