CVE-2026-53041
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-787
Escritura fuera de límites
Fecha de publicación:
24/06/2026
Última modificación:
14/07/2026
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
ocfs2: fix listxattr handling when the buffer is full<br />
<br />
[BUG]<br />
If an OCFS2 inode has both inline and block-based xattrs, listxattr()<br />
can return a size larger than the caller&#39;s buffer when the inline names<br />
consume that buffer exactly.<br />
<br />
kernel BUG at mm/usercopy.c:102!<br />
Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI<br />
RIP: 0010:usercopy_abort+0xb7/0xd0 mm/usercopy.c:102<br />
Call Trace:<br />
__check_heap_object+0xe3/0x120 mm/slub.c:8243<br />
check_heap_object mm/usercopy.c:196 [inline]<br />
__check_object_size mm/usercopy.c:250 [inline]<br />
__check_object_size+0x5c5/0x780 mm/usercopy.c:215<br />
check_object_size include/linux/ucopysize.h:22 [inline]<br />
check_copy_size include/linux/ucopysize.h:59 [inline]<br />
copy_to_user include/linux/uaccess.h:219 [inline]<br />
listxattr+0xb0/0x170 fs/xattr.c:926<br />
filename_listxattr fs/xattr.c:958 [inline]<br />
path_listxattrat+0x137/0x320 fs/xattr.c:988<br />
__do_sys_listxattr fs/xattr.c:1001 [inline]<br />
__se_sys_listxattr fs/xattr.c:998 [inline]<br />
__x64_sys_listxattr+0x7f/0xd0 fs/xattr.c:998<br />
...<br />
<br />
[CAUSE]<br />
Commit 936b8834366e ("ocfs2: Refactor xattr list and remove<br />
ocfs2_xattr_handler().") replaced the old per-handler list accounting<br />
with ocfs2_xattr_list_entry(), but it kept using size == 0 to detect<br />
probe mode.<br />
<br />
That assumption stops being true once ocfs2_listxattr() finishes the<br />
inline-xattr pass. If the inline names fill the caller buffer exactly,<br />
the block-xattr pass runs with a non-NULL buffer and a remaining size of<br />
zero. ocfs2_xattr_list_entry() then skips the bounds check, keeps<br />
counting block names, and returns a positive size larger than the<br />
supplied buffer.<br />
<br />
[FIX]<br />
Detect probe mode by testing whether the destination buffer pointer is<br />
NULL instead of whether the remaining size is zero.<br />
<br />
That restores the pre-refactor behavior and matches the OCFS2 getxattr<br />
helpers. Once the remaining buffer reaches zero while more names are<br />
left, the block-xattr pass now returns -ERANGE instead of reporting a<br />
size larger than the allocated list buffer.
Impacto
Puntuación base 3.x
7.10
Gravedad 3.x
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 2.6.28 (incluyendo) | 5.10.258 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.209 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.175 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.141 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.12.91 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (incluyendo) | 6.18.33 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 (incluyendo) | 7.0.10 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/2323084c17370304f49c84b354fe7b3edbb264fe
- https://git.kernel.org/stable/c/2685df8577a38d83b367c8cf52eda9dc286959ff
- https://git.kernel.org/stable/c/46e66fefb83811958127bc9ad736983ec629d82b
- https://git.kernel.org/stable/c/50033ec1350fe68abdc63b950ced7ae57364b77a
- https://git.kernel.org/stable/c/6f702b00b8124c5d3525f19172934544826a114d
- https://git.kernel.org/stable/c/a35a1c2b170b5b578b1b3fecb95694796552af9a
- https://git.kernel.org/stable/c/d12f558e6200b3f47dbef9331ed6d115d2410e59
- https://git.kernel.org/stable/c/d919b905939eda93393e3572900ff70dbad2b47f



