JVNDB-2026-023733 | |
LinuxのLinux Kernelにおける境界外書き込みに関する脆弱性 | |
| 概要 | |
Linuxカーネルにおいて、以下の脆弱性が修正されました。ocfs2: バッファが満杯の際のlistxattr処理の修正。[不具合] OCFS2のinodeがインラインxattrとブロックベースxattrの両方を持つ場合、インライン名が呼び出し元のバッファをちょうど使い切ると、listxattr()が呼び出し元バッファより大きいサイズを返すことがあります。kernel BUG at mm/usercopy.c:102! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTIRIP: 0010: usercopy_abort+0xb7/0xd0 mm/usercopy.c:102Call Trace: __check_heap_object+0xe3/0x120 mm/slub.c:8243 check_heap_object mm/usercopy.c:196 [inline] __check_object_size mm/usercopy.c:250 [inline] __check_object_size+0x5c5/0x780 mm/usercopy.c:215 check_object_size include/linux/ucopysize.h:22 [inline] check_copy_size include/linux/ucopysize.h:59 [inline] copy_to_user include/linux/uaccess.h:219 [inline] listxattr+0xb0/0x170 fs/xattr.c:926 filename_listxattr fs/xattr.c:958 [inline] path_listxattr at+0x137/0x320 fs/xattr.c:988 __do_sys_listxattr fs/xattr.c:1001 [inline] __se_sys_listxattr fs/xattr.c:998 [inline] __x64_sys_listxattr+0x7f/0xd0 fs/xattr.c:998[原因] コミット936b8834366e("ocfs2: Refactor xattr list and remove ocfs2_xattr_handler().")は従来のハンドラーごとのリスト集計をocfs2_xattr_list_entry()に置き換えましたが、プローブモードの検出にサイズ==0を使い続けていました。この前提は、ocfs2_listxattr()がインラインxattrのパスを終えた時点で成り立たなくなります。インライン名が呼び出し元バッファをちょうど満たした場合、ブロックxattrのパスはNULLでないバッファと残りサイズ0で実行されます。その結果、ocfs2_xattr_list_entry()は境界チェックをスキップし、ブロック名のカウントを続け、供給されたバッファより大きい正のサイズを返してしまいます。[修正] プローブモードの検出を、残りサイズが0かどうかではなく、宛先バッファポインタがNULLかどうかで判定するように変更しました。これによりリファクタ前の挙動が復元され、OCFS2のgetxattrヘルパーと一致します。残りバッファサイズが0でなお名が残っている場合、ブロックxattrパスは割り当て済みのリストバッファより大きいサイズを返す代わりに-ERANGEを返すようになります。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.1 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
Linux | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/06/24 |
| 登録日 | 2026/07/16 |
| 最終更新日 | 2026/07/16 |



