Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

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&amp;#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.

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)