JVNDB-2026-021372 | |
LinuxのLinux Kernelにおける不特定の脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。liveupdateのluo_file構造体に関連するretrieve()の状態管理に関する問題です。LUOはLUOファイルに対する成功したretrieve試行を追跡し、同じファイルの複数回のretrieveを回避するために実装されています。複数回のretrieveは問題を引き起こします。一度ファイルが取得されると、直列化されたデータ構造が解放されている可能性が高く、ファイルの状態がコードの期待する状態と大きく異なるためです。struct luo_fileのretrieve状態はブール値で追跡され、完了コールバックに渡されて実行済みの作業および残された作業を認識します。この仕組みは取得成功時には正常に機能します。しかし失敗した場合、luo_retrieve_file()は即座にエラーを返し、retrieve試行の有無やエラーコードを記録しません。そのため、ユーザースペースにはエラーになったLIVEUPDATE_SESSION_RETRIEVE_FD ioctlが返されますが、再試行を防止できません。この再試行は前述の理由で問題を引き起こします。ファイルの状態がretrieveロジックの通常の期待と大きく異なり、直列化データ構造の一部がすでに解放されている状態だからです。これらにアクセスしたり再度解放しようとすると問題が発生します。例えば、memfdが10個のフォリオのうち8個を復元し、9個目で失敗した場合、その後のretrieve試行は最初のフォリオに対して再度kho_restore_folio()を呼び出そうとし、それは無効な操作として警告を引き起こします。再試行に加え、finish()も問題を生じさせます。失敗時にluo_file内のretrievedフラグは変更されないため、セッション終了時のfinish()呼び出しはretrieve未試行と判断し、存在しない可能性のあるデータ構造にアクセスまたは解放を試み、再試行と同様の問題が発生します。retrieveを安全に再試行する方法は存在しません。エラーを記憶し、再試行時にはそのエラーを直接返す必要があります。またこの状態コードをfinish()に渡して適切な処理を可能にします。この改善はブール値を整数に変更することで実現され、値が0ならretrieve未試行、正の値は成功、負の値は失敗かつそのエラーコードを示します。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 5.5 (警告) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/05/13 |
| 登録日 | 2026/06/29 |
| 最終更新日 | 2026/06/29 |



