CVE-2026-97598情報

要約

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

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

ipv4: fib: 自動テーブルIDの割り当てに上限を設ける

fib_empty_table()関数は、空いているIDが見つかるまで1から順にすべてのテーブルIDを検索します。IPv4用のテーブルは256バケットのハッシュテーブルに格納されるため、IDが密集していると、RTNLロック保持中に各プローブ処理でハッシュチェーンをより長い範囲で走査することになります。

自動的なテーブル割り当て(「ip rule ... table 0」)はIPv4専用のレガシーなパスです。この修正により、明示的に指定されたテーブルIDの検索動作を変更せずに、RTNLロック保持時間を上限内に収めるために、自動的に割り当てられるIDを4096に制限します。

これによりユーザーが認識可能な振る舞いが変更されます。以前はtable-0ルールに対して1からRT_TABLE_MAX (0xFFFFFFFF)までの範囲で最も低い空きIDが付与されていましたが、このパッチ適用後は検索上限が4096となり、その範囲が完全に占有されている場合はENOSPCエラー(注: 原文のENOBUFSを正訳すると「バッファ不足」ですが、文脈上resource limit/exhaustionを示すため一般的にENOSPCやENOMEMと解釈されますが、ここでは技術用語としてENOSPC/ENOMEMではなく原文通りENOBUFSまたはその意味である「リソース不足」で翻訳するのが安全です。しかし、Linuxのerrno値としてのENOBUFSは通常ネットワークバッファを指しますが、此处文脈ではresource exhaustion general sense. Let's stick to the literal errno name or its meaning. In Linux kernel context for this specific patch, it returns -ENOSPC (No space left on device) in some contexts or similar limits. Wait, checking the actual commit: `ip rule add table 0` fails with `-ESRCH`? No, let's look at the text provided: "fails with ENOBUFS". I will translate literally as エラーコードENOBUFS).

修正後、table-0ルールは1から4096までの範囲で検索され、その範囲が完全に占有されている場合はエラーコードENOBUFS(バッファ不足)を伴って追加処理に失敗します。4096より上の明示的なテーブルIDは引き続き使用可能です。

この自動割り当てのパスは実際には使用されていません:IPv4専用であり、ip-ruleコマンドで文書化されておらず、カーネルの自己テストでもカバーされておらず、さらにNetworkManagerとsystemdの両方がtable 0を拒否しているためです。

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

モデレーション

レビュー中

EPSS

0.00000

アクティビティ

非常低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!