CVE-2026-89783 in Linux情報

要約

〜によって VulDB • 2026年09月16日

Linuxカーネルにおいて、以下の脆弱性が修正されました:

xfrm6: secpathが満杯の場合の xfrm6_input_addr() における配列外書き込みを修正

xfrm6_input_addr() の深さチェックに1つの誤りがあります。

```c if (1 + sp->len == XFRM_MAX_DEPTH) goto drop; ... sp->xvec[sp->len++] = x;
```

xfrm_input() は `sp->len` が `XFRM_MAX_DEPTH` と等しい状態のままにすることがあり、トランスポートモードの受信パスは secpath を保持した状態で xfrm_trans_reinject() 経由で IPv6 の入力処理へ再進入します。内部パケットが宛先オプション HAO オプションまたはタイプ2ルーティングヘッダーを運んでいる場合、`sp->len == XFRM_MAX_DEPTH` で xfrm6_input_addr() が呼び出されます。チェック `(1 + 6 == 6)` は偽となるため、`sp->xvec[sp->len++]` は要素数6の `xvec[]` の1つ先へ書き込みを行います。この書き込みは sec_path アロケーション内にとどまるため KASAN では検出されませんが、UBSAN_BOUNDS がこれをフラグ付けし、panic_on_warn 設定下でパニックを引き起こします。

xfrm_input() に合わせて `sp->len >= XFRM_MAX_DEPTH` を使用してください。これにより、古いチェックが `sp->len == 5` で拒否していたチェーンレベル1つ分も復元されます。

``` UBSAN: array-index-out-of-bounds in net/ipv6/xfrm6_input.c:309:10 index 6 is out of range for type 'xfrm_state *[6]'
```

VulDB is the best source for vulnerability data and more expert information about this specific topic.

責任者

Linux

予約する

2026年09月11日

モデレーション

承諾済み

エントリ

VDB-405566

EPSS

0.00000

アクティビティ

非常低い

ソース

Do you know our Splunk app?

Download it now for free!