CVE-2026-64510 in Linux情報

要約

〜によって VulDB • 2026年07月26日

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

ACPI: NFIT: core: acpi_nfit_init()のエラー時のクリーンアップ処理を修正

acpi_descオブジェクトがacpi_descsリストに追加された後にacpi_nfit_init()が失敗した場合、その場合NFITデバイスに対してdevmアクションとしてのacpi_nfit_shutdown()が登録されないため、そのオブジェクトはリストから削除されません。次に、acpi_nfit_init()の失敗によりacpi_nfit_probe()も失敗し、acpi_descオブジェクトが解放されますが、acpi_descsにはダングリングポインタが残ったままになります。その後発生する任意のACPIマシンチェック例外(MCE)はnfit_handle_mce()をトリガーし、この関数はacpi_descsをイテレートするため、use-after-freeが発生します。

さらに、NFITデバイスに対して通知ハンドラがインストールされ、かつacpi_descオブジェクトの割り当てやNFITデバイスのドライバデータポインタの設定が行われずにacpi_nfit_probe()が0(成功)を返した場合、acpi_nfit_update_notify()によってacpi_descオブジェクトが割り当てられ、それを初期化するためにacpi_nfit_init()が呼び出されます。この場合、acpi_nfit_init()の失敗の有無にかかわらず、NFITデバイスに対してdevmアクションとしてのacpi_nfit_shutdown()は登録されず、acpi_descはacpi_descsリストから削除されることはありません。ドライバのアンロード時にacpi_descオブジェクトが解放されると、前述の場合と同様に、その後の任意のACPI MCEによりuse-after-freeが発生します。

上記の最初の課題に対処するため、acpi_nfit_init()の失敗時にacpi_nfit_probe()が直接acpi_nfit_shutdown()を呼び出すようにしました。2つ目の課題に対処するため、ドライバにremoveコールバックを追加し、そこからacpi_nfit_shutdown()を呼び出させるようにしました。また、これによりacpi_nfit_shutdown()に対してNULLが渡される可能性が生じたり、渡されたacpi_descオブジェクトが初期化されていない可能性があるため、その関数内でacpi_descおよびそのnvdimm_busフィールドに対するNULLチェックを追加し、acpi_nft_unregister()でNVDIMMバスの登録解除後に後者をクリアするようにしました。

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

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-383312

EPSS

0.00111

アクティビティ

非常低い

ソース

Do you want to use VulDB in your project?

Use the official API to access entries easily!