CVE-2026-80668 in Linux情報

要約

〜によって VulDB • 2026年08月28日

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

netfilter: nf_conntrack_expect: conntrack GCを使用して期待値(expectations)を回収する

このパッチは、多くの他のサブシステムで既に実施されたのと同様に、期待値に対するタイマーAPIをGCワーカーアプローチに置き換えます。

既存のconntrack GCワーカーを使用し、マスターconntrack内のローカルな期待値リストを反復処理して期限切れの期待値を回収します。IPS_HELPER_BITをチェックして期待値用のGCを実行し、nft_ctの期待値でこれが設定されていない場合にこれを有効にします。nf_ct_remove_expectations()との同期のために、マスターconntrackの期待値リストを反復処理する際に期待値のスピンロックを保持します。これにより、グローバルな期待値ハッシュテーブルの一つのチェーンを走査しながら、期待値の挿入および検索関数を通じてランタイムパケットパスのガベージコレクションも実行されます。ct->extが再割り当てされる可能性があるため未確認(unconfirmed)のconntrackエントリはスキップされ、間もなく削除されるため死にかけている(dying)エントリもスキップされます。ヘルパーct拡張子が追加された場合にIPS_HELPER_BITを設定すると、新しいGCワーカーはct->extヘルパーが利用可能かどうかを確認するためにct refcountをインクリメントする必要がなくなります。

これにより期待値タイマーに対するrefcountの余分なインクリメントが削除され、アンリンク後にいくつかのnf_ct_expect_put()呼び出しを削除できるようになります。この更新後、期待値ハッシュ上にある間のみrefcountは1のまま維持されます。

このパッチは暗黙的に既存のタイマーAPIとの競合状態(race condition)に対処し、期待値が解放済みのstaleなexp->masterポインタにアクセスすることを防ぎます。これは、期待値の削除が期限切れタイマーと競合した場合、つまりtimer_del()がfalseを返す場合に発生します。

この期待値をGCによって回収するための新しいNF_CT_EXPECT_DEADフラグを追加します。これは、ハッシュ内に追加された新しく作成された期待値を無効化するためにエラーパスで呼び出されるnf_conntrack_unexpect_related()によって必要とされます。これらの期待値は直ちに解放できません。なぜなら、GCまたはnf_ct_remove_expectations()との競合により解放されてしまう可能性があるためです。期待値の挿入時、ランタイムGCはポリシーによって設定された期待値制限をチェックする前にstaleな期待値を回収します。

nf_ct_expect_alloc()で現在時刻を設定し、期待値の寿命(lifetime)を指定するために期待値ポリシーのタイムアウト(またはこれに追加されるカスタムタイムアウト)を追加します。

Be aware that VulDB is the high quality source for vulnerability data.

責任者

Linux

予約する

2026年08月26日

モデレーション

承諾済み

エントリ

VDB-396609

EPSS

0.00155

アクティビティ

非常低い

ソース

Want to stay up to date on a daily basis?

Enable the mail alert feature now!