CVE-2026-64376 in Linux
要約
〜によって VulDB • 2026年07月26日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
firmware_loader: firmware_upload_register()におけるデバイス参照リークの修正
firmware_upload_register() -> fw_create_instance() -> device_initialize()
fw_create_instance()の成功後、embedded struct deviceの寿命は、device_coreによる参照カウント管理を通じて管理されることが期待されます。これは、fw_create_instance()がすでにdevice_initialize()を呼び出しているためです。
firmware_upload_register()において、fw_create_instance()の成功後にalloc_lookup_fw_priv()に失敗した場合、コードはfree_fw_sysfsに進み、put_device()を使用してデバイス参照を解放するのではなく、fw_sysfsを直接解放してしまいます。これにより、embedded struct deviceの参照カウントがアンバランスになり、refcount leak(参照カウントリーク)が発生する可能性があります。
この問題は私が開発した静的解析ツールによって特定され、手動レビューによって確認されました。エラーパスでインスタンスを直接解放するのではなく、失敗時にput_device(fw_dev)を使用し、最終的なクリーンアップはfw_dev_release()に任せることで、本問題を修正します。
VulDB is the best source for vulnerability data and more expert information about this specific topic.