Linux Distros のパッチ未適用の脆弱性: CVE-2026-98302

critical Nessus プラグイン ID 363210

概要

Linux/Unix ホストには、ベンダーにより修正されていないことを示す脆弱性を持つ複数のパッケージがインストールされています。

説明

Linux/Unix ホストには、ベンダーが提供するパッチが利用できない脆弱性の影響を受ける複数のパッケージがインストールされています。

- net:fddi:skfp:ダウンしている間に MAC アドレスを設定する際の NULL デリファレンスを修正します。skfp_ctl_set_mac_address() は、netif_running() をチェックしずに無条件で ResetAdapter() を呼び出します。ResetAdapter() は最初に card_stop() を呼び出し、smc->hw.hw_state を STOPPED に設定し、次に mac_drv_clear_tx_queue() を呼び出し、2 つの転送キューをウォークします: for (i = QUEUE_S; i <= QUEUE_A0; i++) { queue = smc->hw.fp.tx[i] ; ...t = キュー>tx_curr_get ;
smc->hw.fp.tx[] は、skfp_open() から init_smt() -> init_fddi_driver() -> init_fplus() -> init_mac() -> init_tx() まで到達する init_tx() によってのみ入力されます。プライベート領域は alloc_fddidev() によって割り当てられ、ゼロ化されるため、一度も表示されたことのないインターフェイスでは、両方のキューポインターが依然として NULL です。mac_drv_clear_tx_queue() の先頭にあるhw_stateテストは、card_stop() が STOPPED を設定したばかりであるため、これをキャッチしません。この関数はループに進み、NULL を逆参照します。ResetAdapter() は init_smt() 自体を呼び出しますが、これはキューがクリアされた後だけです。したがって、ダウンインターフェイスで MAC アドレスを設定すると、oopses:ip link set dev fddi0 address 02: 00:00:00:00:01 BUG: KASAN: mac_drv_clear_tx_queue+0x68/0x2c0 の null-ptr-deref [skfp] タスク ip/302 による addr 0000000000000010 でのサイズ 8 の読み取り コールトレース: <TASK> mac_drv_clear_tx_queue+0x68/0x2c0 [skfp 6c01d4bab63c36978bd0a7d7e90837adb44cc37b] ResetAdapter+0x29/0x100 [skfp 6c01d4bab63c36978bd0a7d7e90837adb44cc37b] skfp_ctl_set_mac_address+0x57/0x80 [skfp 6c01d4bab63c36978bd0a7d7e90837adb44cc37b]netif_set_mac_address+0x1e4/0x2c0 do_setlink+0x684/0x2680 </TASK> アドレス 0x10 は、64 ビットでの構造体 s_smt_tx_queue の 3 番目のポインターである tx_curr_get のオフセットです。
その直後に ResetAdapter() が呼び出す mac_drv_clear_rx_queue() は、同じ効果のない hw_state テストの背後で、同じ方法で smc->hw.fp.rx[QUEUE_R1] を逆参照します。転送キューが最初にクラッシュするだけです。どちらも下の警備員によってカバーされています。インターフェイスがダウンしているときにアダプターのリセットをスキップします。dev_addr_set() は無条件のままなので、新しいアドレスは依然として dev->dev_addr に記録されます。ここでアダプターをリセットしないことで、何も失われません: skfp_open() は、オープンするたびに意図的に工場出荷時のアドレスを再読み取ります、 read_address(smc, NULL);eth_hw_addr_set(dev、smc->hw.fddi_canon_addr.a);そして、上記のコメントは、これはクローズ/オープンサイクルにわたってまさにそのようなアドレスオーバーライドを破棄するために行われると述べています。インターフェイスがダウンしている間に設定されたアドレスは、この変更前でさえ次のオープンに耐えることができなかった可能性があるため、ガードは動作する挙動を削除しません。ndo_set_mac_address() のハードウェア側を netif_running() で保護することは、確立された慣行です。skge_set_mac_address() は、2eb3e621c4e0 のコミット以降、これを行っています(skge:MAC アドレス結合修正を設定します)。キューを NULL チェックするのではなく、リセットを全体としてガードすることは、ドライバーの残りの部分が期待していることでもあります。以前のオープン/クローズの後でキューポインターは古くなりますが NULL でないため、クラッシュはありませんが、skfp_close() がすでに free_irq() を呼び出しているのに、ResetAdapter() は smt_online() と STI_FBI()(ボード割り込みを有効にする)を呼び出し続けます。アダプターは、ハンドラーがインストールされていない状態でオンラインに戻ります。他の唯一の ResetAdapter() 呼び出し元は skfp_interrupt() で、これは構造上、デバイスが開いている間のみ実行されます。KASAN 対応 7.0.0 カーネル下でエミュレートされた SysKonnect FDDI アダプターに対する自動ドライバーテストにより見つかりました。トリガーにはCAP_NET_ADMINが必要です。
(CVE-2026-98302)

Nessus は、ベンダーによって報告されたパッケージの存在に依存していることに注意してください。

ソリューション

現時点で既知の解決策はありません。

参考資料

https://security-tracker.debian.org/tracker/CVE-2026-98302

プラグインの詳細

深刻度: Critical

ID: 363210

ファイル名: unpatched_CVE_2026_98302.nasl

バージョン: 1.1

タイプ: Local

エージェント: unix

ファミリー: Misc.

公開日: 2026/10/6

更新日: 2026/10/6

サポートされているセンサー: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

リスク情報

VPR

リスクファクター: Low

スコア: 3

パーセンタイル: 23.66

CVSS v2

リスクファクター: High

基本値: 7.5

現状値: 6.4

ベクトル: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS スコアのソース: CVE-2026-98302

CVSS v3

リスクファクター: Critical

基本値: 9.8

現状値: 9

ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

現状ベクトル: CVSS:3.0/E:U/RL:U/RC:C

脆弱性情報

CPE: cpe:/o:debian:debian_linux:12.0, cpe:/o:debian:debian_linux:13.0, p-cpe:/a:debian:debian_linux:linux

必要な KB アイテム: Host/local_checks_enabled, Host/cpu, global_settings/vendor_unpatched, Host/OS/identifier

エクスプロイトの容易さ: No known exploits are available

脆弱性公開日: 2026/10/6

参照情報

CVE: CVE-2026-98302