製品・ソフトウェアに関する情報
LinuxのLinux Kernelにおける境界外書き込みに関する脆弱性
Title LinuxのLinux Kernelにおける境界外書き込みに関する脆弱性
Summary

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に変更されています。

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

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

Publication Date May 6, 2026, midnight
Registration Date May 13, 2026, 10:23 a.m.
Last Update May 13, 2026, 10:23 a.m.
CVSS3.0 : 緊急
Score 9.8
Vector CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected System
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 (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年05月13日]
  掲載
May 13, 2026, 10:23 a.m.

NVD Vulnerability Information
CVE-2026-43186
Summary

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

Publication Date May 6, 2026, 9:16 p.m.
Registration Date May 7, 2026, 4:08 a.m.
Last Update May 12, 2026, 5:40 a.m.
Affected software configurations
Configuration1 or higher or less more than less than
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
Related information, measures and tools
Common Vulnerabilities List