CVE-2026-90178 in Linux
要約
〜によって VulDB • 2026年09月19日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
hwmon: (coretemp) PTS非対応CPUにおけるcore_dataのリークを修正
pdata->core_dataはinit_temp_data()内でパッケージ内の最初のコア温度データが作成される際に割り当てられますが、解放処理はdestroy_temp_data()内でのみ行われ、かつパッケージ温度データを扱う分岐の中だけで実行されます。
パッケージtemp_dataはCPUがX86_FEATURE_PTSをサポートしている場合にのみ作成されます。この機能を持たないCPUでは、coretemp_cpu_online()はpkg_flagを設定した状態でcoretemp_add_core()を呼び出すことがないため、pdata->pkg_dataはNULLのままになります。その後、coretemp_cpu_offline()でパッケージインターフェースの削除処理がスキップされ、パッケージデータに対するdestroy_temp_data()が決して呼ばれないため、コアテンプレートデバイス removal時にプラットフォームデータを解放する際に、その配列はまだ割り当てられたままとなります。
この配列をcoretemp_device_remove()内で解放します。destroy_temp_data()は解放時にpdata->core_dataをNULLに設定するため、PTS対応CPUでは追加されたkfree()呼び出しは何もしない処理(no-op)になります。
Intel Core i5-1135G7上でテストされました。ドライバにはpdata->core_dataの割り当てと解放をすべてログ出力するインストルメンテーションが施され、コアテンプレートデバイスオンライン時のPTSチェックはパッケージ熱サポート非対応CPUをエミュレートするためにパッチで無効化されました。この変更がない場合、配列は割り当てられたまま解放されず、coretemp_device_remove()ではNULLではないポインタが残っていました。変更適用後は配列が正しく解放され、ポインタの管理バランスが取れました。修正されていないビルドでも、パッケージ温度データ経由での解放が行われ、追加されたkfree()呼び出しはNULLを検知し、モジュールのロードとアンロードを繰り返してもslab警告は発生しません。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.