CVE-2023-54265
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
30/12/2025
Última modificación:
30/12/2025
Descripción
*** Pendiente de traducción *** In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
ipv6: Fix an uninit variable access bug in __ip6_make_skb()<br />
<br />
Syzbot reported a bug as following:<br />
<br />
=====================================================<br />
BUG: KMSAN: uninit-value in arch_atomic64_inc arch/x86/include/asm/atomic64_64.h:88 [inline]<br />
BUG: KMSAN: uninit-value in arch_atomic_long_inc include/linux/atomic/atomic-long.h:161 [inline]<br />
BUG: KMSAN: uninit-value in atomic_long_inc include/linux/atomic/atomic-instrumented.h:1429 [inline]<br />
BUG: KMSAN: uninit-value in __ip6_make_skb+0x2f37/0x30f0 net/ipv6/ip6_output.c:1956<br />
arch_atomic64_inc arch/x86/include/asm/atomic64_64.h:88 [inline]<br />
arch_atomic_long_inc include/linux/atomic/atomic-long.h:161 [inline]<br />
atomic_long_inc include/linux/atomic/atomic-instrumented.h:1429 [inline]<br />
__ip6_make_skb+0x2f37/0x30f0 net/ipv6/ip6_output.c:1956<br />
ip6_finish_skb include/net/ipv6.h:1122 [inline]<br />
ip6_push_pending_frames+0x10e/0x550 net/ipv6/ip6_output.c:1987<br />
rawv6_push_pending_frames+0xb12/0xb90 net/ipv6/raw.c:579<br />
rawv6_sendmsg+0x297e/0x2e60 net/ipv6/raw.c:922<br />
inet_sendmsg+0x101/0x180 net/ipv4/af_inet.c:827<br />
sock_sendmsg_nosec net/socket.c:714 [inline]<br />
sock_sendmsg net/socket.c:734 [inline]<br />
____sys_sendmsg+0xa8e/0xe70 net/socket.c:2476<br />
___sys_sendmsg+0x2a1/0x3f0 net/socket.c:2530<br />
__sys_sendmsg net/socket.c:2559 [inline]<br />
__do_sys_sendmsg net/socket.c:2568 [inline]<br />
__se_sys_sendmsg net/socket.c:2566 [inline]<br />
__x64_sys_sendmsg+0x367/0x540 net/socket.c:2566<br />
do_syscall_x64 arch/x86/entry/common.c:50 [inline]<br />
do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80<br />
entry_SYSCALL_64_after_hwframe+0x63/0xcd<br />
<br />
Uninit was created at:<br />
slab_post_alloc_hook mm/slab.h:766 [inline]<br />
slab_alloc_node mm/slub.c:3452 [inline]<br />
__kmem_cache_alloc_node+0x71f/0xce0 mm/slub.c:3491<br />
__do_kmalloc_node mm/slab_common.c:967 [inline]<br />
__kmalloc_node_track_caller+0x114/0x3b0 mm/slab_common.c:988<br />
kmalloc_reserve net/core/skbuff.c:492 [inline]<br />
__alloc_skb+0x3af/0x8f0 net/core/skbuff.c:565<br />
alloc_skb include/linux/skbuff.h:1270 [inline]<br />
__ip6_append_data+0x51c1/0x6bb0 net/ipv6/ip6_output.c:1684<br />
ip6_append_data+0x411/0x580 net/ipv6/ip6_output.c:1854<br />
rawv6_sendmsg+0x2882/0x2e60 net/ipv6/raw.c:915<br />
inet_sendmsg+0x101/0x180 net/ipv4/af_inet.c:827<br />
sock_sendmsg_nosec net/socket.c:714 [inline]<br />
sock_sendmsg net/socket.c:734 [inline]<br />
____sys_sendmsg+0xa8e/0xe70 net/socket.c:2476<br />
___sys_sendmsg+0x2a1/0x3f0 net/socket.c:2530<br />
__sys_sendmsg net/socket.c:2559 [inline]<br />
__do_sys_sendmsg net/socket.c:2568 [inline]<br />
__se_sys_sendmsg net/socket.c:2566 [inline]<br />
__x64_sys_sendmsg+0x367/0x540 net/socket.c:2566<br />
do_syscall_x64 arch/x86/entry/common.c:50 [inline]<br />
do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80<br />
entry_SYSCALL_64_after_hwframe+0x63/0xcd<br />
<br />
It is because icmp6hdr does not in skb linear region under the scenario<br />
of SOCK_RAW socket. Access icmp6_hdr(skb)->icmp6_type directly will<br />
trigger the uninit variable access bug.<br />
<br />
Use a local variable icmp6_type to carry the correct value in different<br />
scenarios.
Impacto
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/02ed5700f40445af02d1c97db25ffc2d04971d9f
- https://git.kernel.org/stable/c/0cf600ca1bdf1d52df977516ee6cee0cadb1f6b1
- https://git.kernel.org/stable/c/165370522cc48127da564a08584a7391e6341908
- https://git.kernel.org/stable/c/2c9cefc142c1dc2759e19a92d3b2b3715e985beb
- https://git.kernel.org/stable/c/605b056d63302ae84eb136e88d4df49124bd5e0d
- https://git.kernel.org/stable/c/d65ff2fe877c471aa6e79efa7bd8ff66e147c317
- https://git.kernel.org/stable/c/ea30388baebcce37fd594d425a65037ca35e59e8
- https://git.kernel.org/stable/c/f394f690a30a5ec0413c62777a058eaf3d6e10d5



