製品・ソフトウェアに関する情報
LinuxのLinux Kernelにおける有効期限後のメモリの解放の欠如に関する脆弱性
Title LinuxのLinux Kernelにおける有効期限後のメモリの解放の欠如に関する脆弱性
Summary

Linuxカーネルにおいて、以下の脆弱性が修正されました。gfs2_fill_superのエラーパスにおけるメモリリークが修正されました。ファイルシステムを読み書きモードに切り替える際に失敗した場合のgfs2_fill_super()のエラー処理パスにおいて、2つのメモリリークを修正しました。1つ目のリークはkthreadオブジェクト(thread_struct、task_structなど)に関するものです。init_threads()が成功した後にgfs2_freeze_lock_shared()が失敗すると、生成されたカーネルスレッド(logdおよびquotad)が破棄されません。これはfail_per_nodeラベルがgfs2_destroy_threads()を呼び出さないために発生します。2つ目のリークはクオータビットマップバッファ(8192バイト)です。gfs2_quota_init()が成功した後にgfs2_make_fs_rw()が失敗し、その後の処理が完了する前に割り当てられたクオータビットマップが解放されません。この修正により、スレッドのクリーンアップをfail_per_nodeラベルに移動し、すべてのエラーパスを統一的に処理するようにしました。gfs2_destroy_threads()はNULLポインタをチェックするため、無条件に呼び出しても安全です。クオータのクリーンアップは、クオータ初期化が成功したがファイルシステムが撤回された場合を適切に処理するために、gfs2_make_fs_rw()に追加しました。スレッドリークのバックトレース(gfs2_freeze_lock_shared失敗時)は次の通りです。未参照オブジェクト0xffff88801d7bca80(サイズ4480):copy_process+0x3a1/0x4670 kernel/fork.c:2422、kernel_clone+0xf3/0x6e0 kernel/fork.c:2779、kthread_create_on_node+0x100/0x150 kernel/kthread.c:478、init_threads+0xab/0x350 fs/gfs2/ops_fstype.c:611、gfs2_fill_super+0xe5c/0x1240 fs/gfs2/ops_fstype.c:1265。クオータリークのバックトレース(gfs2_make_fs_rw失敗時)は次の通りです。未参照オブジェクト0xffff88812de7c000(サイズ8192):gfs2_quota_init+0xe5/0x820 fs/gfs2/quota.c:1409、gfs2_make_fs_rw+0x7a/0xe0 fs/gfs2/super.c:149、gfs2_fill_super+0xfbb/0x1240 fs/gfs2/ops_fstype.c:1275。

Possible impacts ・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う情報について、書き換えは発生しません。 ・当該ソフトウェアが完全に停止する可能性があります。 
Solution

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。

Publication Date May 27, 2026, midnight
Registration Date June 17, 2026, 3:44 p.m.
Last Update June 17, 2026, 3:44 p.m.
CVSS3.0 : 警告
Score 5.5
Vector CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Affected System
Linux
Linux Kernel 5.10.173 以上 5.11 未満
Linux Kernel 5.15.99 以上 5.16 未満
Linux Kernel 6.1.16 以上 6.2 未満
Linux Kernel 6.2.3 以上 6.19.4 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年06月17日]
  掲載
June 17, 2026, 3:44 p.m.

NVD Vulnerability Information
CVE-2026-45961
Summary

In the Linux kernel, the following vulnerability has been resolved:

gfs2: fix memory leaks in gfs2_fill_super error path

Fix two memory leaks in the gfs2_fill_super() error handling path when
transitioning a filesystem to read-write mode fails.

First leak: kthread objects (thread_struct, task_struct, etc.)
When gfs2_freeze_lock_shared() fails after init_threads() succeeds, the
created kernel threads (logd and quotad) are never destroyed. This
occurs because the fail_per_node label doesn't call
gfs2_destroy_threads().

Second leak: quota bitmap buffer (8192 bytes)
When gfs2_make_fs_rw() fails after gfs2_quota_init() succeeds but
before other operations complete, the allocated quota bitmap is never
freed.

The fix moves thread cleanup to the fail_per_node label to handle all
error paths uniformly. gfs2_destroy_threads() is safe to call
unconditionally as it checks for NULL pointers. Quota cleanup is added
in gfs2_make_fs_rw() to properly handle the withdrawal case where
quota initialization succeeds but the filesystem is then withdrawn.

Thread leak backtrace (gfs2_freeze_lock_shared failure):
unreferenced object 0xffff88801d7bca80 (size 4480):
copy_process+0x3a1/0x4670 kernel/fork.c:2422
kernel_clone+0xf3/0x6e0 kernel/fork.c:2779
kthread_create_on_node+0x100/0x150 kernel/kthread.c:478
init_threads+0xab/0x350 fs/gfs2/ops_fstype.c:611
gfs2_fill_super+0xe5c/0x1240 fs/gfs2/ops_fstype.c:1265

Quota leak backtrace (gfs2_make_fs_rw failure):
unreferenced object 0xffff88812de7c000 (size 8192):
gfs2_quota_init+0xe5/0x820 fs/gfs2/quota.c:1409
gfs2_make_fs_rw+0x7a/0xe0 fs/gfs2/super.c:149
gfs2_fill_super+0xfbb/0x1240 fs/gfs2/ops_fstype.c:1275

Publication Date May 27, 2026, 11:17 p.m.
Registration Date May 28, 2026, 4:12 a.m.
Last Update May 27, 2026, 11:48 p.m.
Related information, measures and tools
Common Vulnerabilities List