JVNDB-2026-013304 | |
LinuxのLinux KernelにおけるNULL ポインタデリファレンスに関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。ksmbdのsmb2_lock()関数におけるメモリリークおよびNULL参照の問題を修正しました。smb2_lock()では、no_check_clでlist_del()がsmb_lockをlock_listから切り離した後に、3つのエラー処理問題が存在していました。まず、非UNLOCKパスにおいてvfs_lock_file()が予期しないエラーを返した場合、goto outによってsmb_lockおよびそのflockがリークしていました。これはout:ハンドラがlock_listとrollback_listのみをイテレートし、切り離されたsmb_lockを含んでいなかったためです。次に、UNLOCKパスでvfs_lock_file()が-ENOENTを返した場合も同様に、goto outによってsmb_lockとflockがリークし、ディスパッチャに返されるエラーコードも古いままでした。最後に、ロールバックパスでsmb_flock_init()が割り当て失敗によりNULLを返すことがあり、その戻り値が無条件に参照されたため、カーネルのNULLポインタ参照が発生していました。クラッシュを防ぐためにNULLチェックを追加し、管理情報を適切にクリーンアップしています。割り当てがない場合、VFSロック自体はロールバックできず、ファイルまたは接続の終了時に解放されます。ケース1および2については、UNLOCKブランチのif(!rc)チェックの前にlocks_free_lock()やkfree()を移動させ、すべての終了パスが1つの解放箇所を共有するように修正しました。また、非UNLOCKブランチではgoto outの前にsmb_lockとflockを解放するようにしています。さらに、両ケースで正しいエラーコードを伝播させるようにしています。ケース3は、VFSアンロックをif(rlock)でガードし、共通のクリーンアップ処理内でlocks_free_lock(rlock)のNULLチェックを追加して修正しました。この脆弱性はsqryを用いたコールグラフ解析で発見されました。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.5 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/04/22 |
| 登録日 | 2026/04/30 |
| 最終更新日 | 2026/04/30 |



