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

high Nessus プラグイン ID 345213

概要

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

説明

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

- forcedeth:非 PCI 構成スペースの保存/復元時の off-by-one を修正します nv_suspend() および nv_resume() は、(i = 0; i <= np->register_size/sizeof(u32); i++) で非 PCI 構成スペースをウォークします。これは、1 回の反復を過剰に実行します。saved_config_spaceは u32 として宣言されますsaved_config_space[NV_PCI_REGSZ_MAX/4];NV_PCI_REGSZ_VER3 は NV_PCI_REGSZ_MAX (0x604) に等しいため、VER3 デバイスでは register_size/sizeof(u32) は正確に配列の長さであり、最後の反復は末尾を過ぎた 1 つの要素をアドレス指定します。着地する要素は np->name_rx[0..3] です: saved_config_space[] の直後に char name_rx[IFNAMSIZ + 3] が続き、char はパディングを必要としません。nv_request_irq() が request_irq() に渡される前に sprintf() でname_rx書き換えるため、観察可能なものは何も破損されません。このバグは領域外アクセスそのものであり、UBSAN が報告し、これが CONFIG_UBSAN_TRAP=y が実行中のカーネルコードを中止するトラップに変わり、さらに、ドライバーがマップした範囲を 1 dword 超えた base + 0x604 への MMIO 読み取りと、MMIO writel() です: np->base = ioremap(addr, np->register_size);VER1 デバイスと VER2 デバイスはアレイ内にとどまりますが、それらもまた、迷走読み込みを受け、迷走して独自のウィンドウを超えて 1 ワードを書き込みます。深い S3 サイクル中に Apple Macmini3,1 (MCP79) で UBSAN にキャッチされました。以下のスプラットはトリミングされています:ファイル名のビルドパス、CPU 行と汚染行、Workqueue 行、?ヒントフレーム、およびdevice_suspend以下のフレームはすべてカットされます。カーネルは木の外のヌーボーとCPU_OUT_OF_SPECで汚染されていました。Forcedeth 自体がストックモジュールでした。UBSAN:drivers/net/ethernet/nvidia/forcedeth.c:6225:25 の array-index-out-of-bounds インデックス 385 がタイプ「u32 [385]」の範囲外です コールトレース:dump_stack_lvl+0x5d/0x80 ubsan_epilogue+0x5/0x2b
__ubsan_handle_out_of_bounds.cold+0x54/0x59 __this_module+0xe398c/0xe9010 [forcedeth] pci_pm_suspend+0x80/0x170 dpm_run_callback+0x51/0x160 device_suspend+0x1a2/0x4a0 ... 両方のループがヒットします。
UBSAN はモジュールのロードごとに各ソースの場所を 1 回だけレポートします (__ubsan_handle_out_of_bounds() が suppress_report() を呼び出し、test_and_set_bit(REPORTED_BIT, ...) が構造体 source_location) を行います)、したがって、2 つのスプラットはモジュールがロードされた後の最初の S3 サイクルに着陸し、アクセスが毎回終了まで実行されても、その後のサイクルはサイレントになります。その最初のサイクルでは、行 6225 が pci_pm_suspend から、行 6240 が pci_pm_resume から報告されています。同じ off-by-one は、2012 年にコミット ba9aa134287f(forcedeth:バッファオーバーフローを修正)により nv_get_regs() で修正されました。この 2 つのループは欠落していました。停止と再開の側面は、2013 年 9 月に Marc Weber によって LKML で報告されており、同じ分析と同じ 1 文字の修正が含まれていましたが、パッチがインラインで送信されるのではなく添付され、スレッドはそこで終了しました。<= の代わりに < を使用すると、正確に register_size バイトが保存および復元されます。(CVE-2026-89596)

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

ソリューション

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

参考資料

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

プラグインの詳細

深刻度: High

ID: 345213

ファイル名: unpatched_CVE_2026_89596.nasl

バージョン: 1.1

タイプ: Local

エージェント: unix

ファミリー: Misc.

公開日: 2026/9/12

更新日: 2026/9/12

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

リスク情報

VPR

リスクファクター: Medium

スコア: 4.3

パーセンタイル: 53.41

CVSS v2

リスクファクター: Medium

基本値: 6.6

現状値: 5.6

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

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

CVSS v3

リスクファクター: High

基本値: 7.1

現状値: 6.5

ベクトル: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/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, cpe:/o:debian:debian_linux:14.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/9/11

参照情報

CVE: CVE-2026-89596