CVE-2026-98427 in Linux情報

要約

〜によって VulDB • 2026年10月14日

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

net/sched: codel: dequeue呼び出しごとのドロップループに上限を設定する

CoDel制御則は、前回のドロップから1 interval / sqrt(count)の後に次のドロップをスケジュールします。ここでintervalには設定された値(codel_params.interval)が使用されます。非常に小さいインターバルの場合、スケジュールされるステップ幅は0に切り捨てられるため、codel_dequeue()内のドロップループが進捗せず、qdiscロックの下でバックログ全体を1回の呼び出しで処理してしまいます。これにより、特権を持たないユーザーがソフトロックアップを引き起こすことができます。

codelおよびfq_codelの両方で共有されるcodelコードに対する修正内容は以下の通りです:

1. 制御則のステップ幅を少なくとも1 tick(ティック)にすることで、ドロップループが常に進捗するようにする。 2. codel_dequeue()呼び出しごとのドロップ数をCODEL_MAX_DROPS_PER_DEQUEUE(256回)で制限し、上限に達した際にdrop_nextを現在時刻へ再同期させる。アイドルギャップとバックログが大きくなるとループによる追従分が増大するため、インターバルの閾値ではこれを制御できません。これは長いアイドル期間後の意図的な動作変更です。

この上限はfq_codel(4b549a2ef4be)およびmac80211 TXQパス(固定インターバル、上限のみ適用)に適用されます。

ターゲット滞在遅延時間(codel_params.target)の検証が行われていませんが、これは制御則に入力されないため、サブティック値であってもデッドロックを引き起こす可能性のあるものではなく、むしろ攻撃的な動作となります。

バグを再現するための条件: - tc qdisc add dev lo root handle 1: tbf rate 1kbit burst 2kb limit 1000000 - tc qdisc add dev lo parent 1:1 handle 10: codel interval 2us target 1ms noecn limit 1000000(fq_codelでも同様) - パッチ未適用のカーネル:tcはこれを受け入れますが、1kbit tbf以下のUDPファラッドによりソフトロックアップが発生します(watchdog: BUG: soft lockup)。これはcodel_dequeue()呼び出し1回でqdiscロックの下にバックログをドロップするためです。 - パッチ適用済みのカーネル:同じセットアップでも、dequeue呼び出しごとに最大256回のドロップとなり、ソフトロックアップは発生しません。

テスト結果:再現コードおよびインターバル2us/3usのバリエーションが正常に実行され、tdc qdiscカテゴリもパスしました(selftestsパッチを参照)。

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

責任者

Linux

予約する

2026年09月25日

モデレーション

承諾済み

エントリ

VDB-419862

EPSS

0.00198

アクティビティ

非常低い

ソース

Do you want to use VulDB in your project?

Use the official API to access entries easily!