JVNDB-2026-032005 | |
LinuxのLinux Kernelにおける二重解放に関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。staging: media: ipu7におけるエラーパスでのダブルフリーおよびユースアフターフリーの問題です。ipu7_isys_init() と ipu7_psys_init() の両方で pdata が割り当てられ、その後 ipu7_bus_initialize_device() に渡されます。ipu7_bus_initialize_device() は pdata を adev->pdata に格納します。デバイスの参照カウントがゼロになると、ipu7_bus_release() 関数が adev->pdata を解放します。しかし、以下の2つのエラーパスで、デバイスの解放後に誤って kfree(pdata) が二重に呼ばれています。1. ipu7_mmu_init() が失敗した場合:put_device() が呼ばれ、参照カウントがゼロになり ipu7_bus_release() によって kfree(pdata) が実行されます。その後の kfree(pdata) はダブルフリーとなります。2. ipu7_bus_add_device() が失敗した場合:内部で auxiliary_device_uninit() が呼ばれ、put_device() -> ipu7_bus_release() -> kfree(pdata) が実行されます。その後の kfree(pdata) もまたダブルフリーとなります。なお、ipu7_bus_initialize_device() 自体が失敗した場合の kfree(pdata) は正しい処理です。このケースでは auxiliary_device_init() が失敗し、リリース関数が設定されていないため、pdata は手動で解放しなければなりません。さらに、put_device() を呼び出す前にエラーコードが保存されておらず、戻り値の構築時に ERR_CAST() が既に解放された adev ポインタを逆参照してしまっていました。これを修正するために、dev_err_probe() の戻り値のエラーを put_device() の前に保存し、ERR_PTR() を返すように変更しました。重複する kfree(pdata) の呼び出しを削除し、影響を受ける2つのエラーパスにおけるユースアフターフリーの問題を修正しています。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.8 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/25 |
| 登録日 | 2026/09/04 |
| 最終更新日 | 2026/09/04 |



