LinuxのLinux Kernelにおける境界外書き込みに関する脆弱性
タイトル LinuxのLinux Kernelにおける境界外書き込みに関する脆弱性
概要

Linuxカーネルにおいて、以下の脆弱性が修正されました:ipv6: ioam: __ioam6_fill_trace_data()におけるヒープバッファオーバーフローの問題を修正しました。受信パスで、__ioam6_fill_trace_data()はtrace-nodelenを使って各ノードに書き込むデータの量を決定しますが、このフィールドを着信パケットの内容そのままで信頼し、trace-type(どのデータ項目が存在するかを示す24ビットフィールド)との整合性チェックを行っていませんでした。細工されたパケットがnodelenを0に設定しつつ、typeのビット0-21を設定すると、この関数は割り当てられた領域(skb_shared_info内)から約100バイト超過して書き込みを行い、隣接するヒープメモリを破壊し、カーネルパニックを引き起こします。対策として、ioam6.cに共有ヘルパー関数ioam6_trace_compute_nodelen()が追加され、typeフィールドから期待されるnodelenを導出し、以下の箇所で使用されています。・ioam6_iptunnel.c(送信パス、既存のバリデーション)では手作業の計算を置き換えています。・exthdrs.c(受信パス、ipv6_hop_ioam)では、データ書き込み前にnodelenがtypeフィールドと矛盾するパケットを破棄します。RFC 9197によれば、ビット12-21はそれぞれ4オクテットの短いフィールドであり、IOAM6_MASK_SHORT_FIELDSは0xff100000から0xff1ffc00に変更されています。

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

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

公表日 2026年5月6日0:00
登録日 2026年5月13日10:23
最終更新日 2026年5月13日10:23
CVSS3.0 : 緊急
スコア 9.8
ベクター CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
影響を受けるシステム
Linux
Linux Kernel 5.15 以上 5.15.202 未満
Linux Kernel 5.16 以上 6.1.165 未満
Linux Kernel 6.13 以上 6.18.16 未満
Linux Kernel 6.19 以上 6.19.6 未満
Linux Kernel 6.2 以上 6.6.128 未満
Linux Kernel 6.7 以上 6.12.75 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2026年05月13日]
  掲載
2026年5月13日10:23

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

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

ipv6: ioam: fix heap buffer overflow in __ioam6_fill_trace_data()

On the receive path, __ioam6_fill_trace_data() uses trace->nodelen
to decide how much data to write for each node. It trusts this field
as-is from the incoming packet, with no consistency check against
trace->type (the 24-bit field that tells which data items are
present). A crafted packet can set nodelen=0 while setting type bits
0-21, causing the function to write ~100 bytes past the allocated
region (into skb_shared_info), which corrupts adjacent heap memory
and leads to a kernel panic.

Add a shared helper ioam6_trace_compute_nodelen() in ioam6.c to
derive the expected nodelen from the type field, and use it:

- in ioam6_iptunnel.c (send path, existing validation) to replace
the open-coded computation;
- in exthdrs.c (receive path, ipv6_hop_ioam) to drop packets whose
nodelen is inconsistent with the type field, before any data is
written.

Per RFC 9197, bits 12-21 are each short (4-octet) fields, so they
are included in IOAM6_MASK_SHORT_FIELDS (changed from 0xff100000 to
0xff1ffc00).

公表日 2026年5月6日21:16
登録日 2026年5月7日4:08
最終更新日 2026年5月12日5:40
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.15 5.15.202
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 6.1.165
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 6.6.128
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 6.12.75
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 6.18.16
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 6.19.6
関連情報、対策とツール
共通脆弱性一覧