JVNDB-2026-028066 | |
LinuxのLinux Kernelにおける境界外読み取りに関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました:ipv4: raw: ihl < 5 のIP_HDRINCLパケットを拒否するraw_send_hdrinc()関数は、呼び出し元から提供されたIPv4ヘッダーがメッセージ長内に収まっていることを検証しています: iphlen = iph->ihl * 4; err = -EINVAL; if (iphlen > length) goto error_free; if (iphlen >= sizeof(*iph)) { /* saddr, tot_len, id, csum, transport_headerを修正します */ }しかしながら、ihl < 5のパケットは拒否されていません。このようなパケットの場合、"if (iphlen >= sizeof(*iph))"の分岐はスキップされ、細工されたiphdrはそのままになりますが、パケットは依然として__ip_local_out()に渡されて先に進みます。iph->ihlを読む下流の処理(特にnet/ipv4/ah4.cのah_output())は有効な値を前提としており、トップのiph->ihl * 4からsizeof(struct iphdr)を引き、その結果(符号付き負の値として計算されサイズ_tにキャストされる)をmemcpy()に渡すことで、SIZE_MAXに近い長さのバッファオーバーランを引き起こし、ホストカーネルのパニックを発生させます。ihl < 5のIPv4ヘッダーは定義上不正な形式であり(RFC791:「Internet Header Lengthは32ビット語単位のインターネットヘッダーの長さであり、正しいヘッダーの最小値は5です」)、カーネルはこのようなパケットを自身の出力経路に注入してはなりません。既存の"iphlen > length"チェックに加え、"iphlen < sizeof(*iph)"の条件でも拒否するようにします。これは、ローカルで構築されたパケットがIPスタックに再投入される場合に、外部パケットと同様の基本的な健全性検査を通過すべきであるという原則に合致します。この修正が適用されると、修正処理を囲む"if (iphlen >= sizeof(*iph))"の条件分岐は冗長になりますが、パッチを最小限かつバックポートに適した形に保つため残されています。後続の修正でこのラッパーは除去される可能性があります。なお、コミット86f4c90a1c5c("ipv4, ipv6: ensure raw socket message is big enough to hold an IP header")ではメッセージバッファがiphdrを保持できる十分な大きさであることを保証していますが、自己申告のiph->ihlの値に制限は設けていません。到達可能性について、この不正パケットの生成元はCAP_NET_RAW権限を持つ任意の呼び出し元であり、CONFIG_USER_NS=yのカーネル上のユーザー+ネットワーク名前空間内の権限のないプロセスも含まれます。再現されたAHクラッシュは、送信ルートに一致するxfrm AHポリシーが必要であり、CAP_NET_ADMINを付与されたコンテナがその状態とポリシーをネットワーク名前空間にインストール可能です。ループバックはxfrm_outputをバイパスするため、トリガには実ネットデバイスを使用します。UML + KASAN環境でも再現され、memcpy_orig実行時にアドレス0x0でのカーネルモードフォルトが発生します。同様の条件はrootless Dockerコンテナ内においても、--cap-add NET_ADMIN付きの標準ディストリビューションカーネルで再現されます。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.8 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/19 |
| 登録日 | 2026/08/13 |
| 最終更新日 | 2026/08/13 |



