CVE-2023-52845

In the Linux kernel, the following vulnerability has been resolved: tipc: Change nla_policy for bearer-related names to NLA_NUL_STRING syzbot reported the following uninit-value access issue [1]: ===================================================== BUG: KMSAN: uninit-value in strlen lib/string.c:418 [inline] BUG: KMSAN: uninit-value in strstr+0xb8/0x2f0 lib/string.c:756 strlen lib/string.c:418 [inline] strstr+0xb8/0x2f0 lib/string.c:756 tipc_nl_node_reset_link_stats+0x3ea/0xb50 net/tipc/node.c:2595 genl_family_rcv_msg_doit net/netlink/genetlink.c:971 [inline] genl_family_rcv_msg net/netlink/genetlink.c:1051 [inline] genl_rcv_msg+0x11ec/0x1290 net/netlink/genetlink.c:1066 netlink_rcv_skb+0x371/0x650 net/netlink/af_netlink.c:2545 genl_rcv+0x40/0x60 net/netlink/genetlink.c:1075 netlink_unicast_kernel net/netlink/af_netlink.c:1342 [inline] netlink_unicast+0xf47/0x1250 net/netlink/af_netlink.c:1368 netlink_sendmsg+0x1238/0x13d0 net/netlink/af_netlink.c:1910 sock_sendmsg_nosec net/socket.c:730 [inline] sock_sendmsg net/socket.c:753 [inline] ____sys_sendmsg+0x9c2/0xd60 net/socket.c:2541 ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2595 __sys_sendmsg net/socket.c:2624 [inline] __do_sys_sendmsg net/socket.c:2633 [inline] __se_sys_sendmsg net/socket.c:2631 [inline] __x64_sys_sendmsg+0x307/0x490 net/socket.c:2631 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd Uninit was created at: slab_post_alloc_hook+0x12f/0xb70 mm/slab.h:767 slab_alloc_node mm/slub.c:3478 [inline] kmem_cache_alloc_node+0x577/0xa80 mm/slub.c:3523 kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:559 __alloc_skb+0x318/0x740 net/core/skbuff.c:650 alloc_skb include/linux/skbuff.h:1286 [inline] netlink_alloc_large_skb net/netlink/af_netlink.c:1214 [inline] netlink_sendmsg+0xb34/0x13d0 net/netlink/af_netlink.c:1885 sock_sendmsg_nosec net/socket.c:730 [inline] sock_sendmsg net/socket.c:753 [inline] ____sys_sendmsg+0x9c2/0xd60 net/socket.c:2541 ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2595 __sys_sendmsg net/socket.c:2624 [inline] __do_sys_sendmsg net/socket.c:2633 [inline] __se_sys_sendmsg net/socket.c:2631 [inline] __x64_sys_sendmsg+0x307/0x490 net/socket.c:2631 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd TIPC bearer-related names including link names must be null-terminated strings. If a link name which is not null-terminated is passed through netlink, strstr() and similar functions can cause buffer overrun. This causes the above issue. This patch changes the nla_policy for bearer-related names from NLA_STRING to NLA_NUL_STRING. This resolves the issue by ensuring that only null-terminated strings are accepted as bearer-related names. syzbot reported similar uninit-value issue related to bearer names [2]. The root cause of this issue is that a non-null-terminated bearer name was passed. This patch also resolved this issue.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

31 Jan 2025, 16:01

Type Values Removed Values Added
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
First Time Linux linux Kernel
Linux
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
References () https://git.kernel.org/stable/c/19b3f72a41a8751e26bffc093bb7e1cef29ad579 - () https://git.kernel.org/stable/c/19b3f72a41a8751e26bffc093bb7e1cef29ad579 - Patch
References () https://git.kernel.org/stable/c/2199260c42e6fbc5af8adae3bf78e623407c91b0 - () https://git.kernel.org/stable/c/2199260c42e6fbc5af8adae3bf78e623407c91b0 - Patch
References () https://git.kernel.org/stable/c/2426425d686b43adbc4f2f4a367b494f06f159d6 - () https://git.kernel.org/stable/c/2426425d686b43adbc4f2f4a367b494f06f159d6 - Patch
References () https://git.kernel.org/stable/c/3907b89cd17fcc23e9a80789c36856f00ece0ba8 - () https://git.kernel.org/stable/c/3907b89cd17fcc23e9a80789c36856f00ece0ba8 - Patch
References () https://git.kernel.org/stable/c/4c731e98fe4d678e87ba3e4d45d3cf0a5a193dc4 - () https://git.kernel.org/stable/c/4c731e98fe4d678e87ba3e4d45d3cf0a5a193dc4 - Patch
References () https://git.kernel.org/stable/c/560992f41c0cea44b7603bc9e6c73bffbf6b5709 - () https://git.kernel.org/stable/c/560992f41c0cea44b7603bc9e6c73bffbf6b5709 - Patch
References () https://git.kernel.org/stable/c/6744008c354bca2e4686a5b6056ee6b535d9f67d - () https://git.kernel.org/stable/c/6744008c354bca2e4686a5b6056ee6b535d9f67d - Patch
References () https://git.kernel.org/stable/c/abc1582119e8c4af14cedb0db6541fd603f45a04 - () https://git.kernel.org/stable/c/abc1582119e8c4af14cedb0db6541fd603f45a04 - Patch
References () https://git.kernel.org/stable/c/b33d130f07f1decd756b849ab03c23d11d4dd294 - () https://git.kernel.org/stable/c/b33d130f07f1decd756b849ab03c23d11d4dd294 - Patch
CWE CWE-908

21 Nov 2024, 08:40

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se resolvió la siguiente vulnerabilidad: tipc: Cambiar nla_policy para nombres relacionados con el portador a NLA_NUL_STRING syzbot informó el siguiente problema de acceso de valor uninit [1]: ============== ======================================= BUG: KMSAN: valor uninit en strlen lib/ string.c:418 [en línea] BUG: KMSAN: valor uninit en strstr+0xb8/0x2f0 lib/string.c:756 strlen lib/string.c:418 [en línea] strstr+0xb8/0x2f0 lib/string.c: 756 tipc_nl_node_reset_link_stats+0x3ea/0xb50 net/tipc/node.c:2595 genl_family_rcv_msg_doit net/netlink/genetlink.c:971 [en línea] genl_family_rcv_msg net/netlink/genetlink.c:1051 [en línea] 0x1290 red/enlace de red/ genetlink.c:1066 netlink_rcv_skb+0x371/0x650 net/netlink/af_netlink.c:2545 genl_rcv+0x40/0x60 net/netlink/genetlink.c:1075 netlink_unicast_kernel net/netlink/af_netlink.c:1342 [en línea] netlink_unicast+0xf47/ 0x1250 net/netlink/af_netlink.c:1368 netlink_sendmsg+0x1238/0x13d0 net/netlink/af_netlink.c:1910 sock_sendmsg_nosec net/socket.c:730 [en línea] sock_sendmsg net/socket.c:753 [en línea] 2/ 0xd60 net/socket.c:2541 ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2595 __sys_sendmsg net/socket.c:2624 [en línea] __do_sys_sendmsg net/socket.c:2633 [en línea] __se_sys_sendmsg red/socket. c:2631 [en línea] __x64_sys_sendmsg+0x307/0x490 net/socket.c:2631 do_syscall_x64 arch/x86/entry/common.c:50 [en línea] do_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80 Entry_SYSCALL_64_after_hwframe+0 x63/ 0xcd Uninit se creó en: slab_post_alloc_hook+0x12f/0xb70 mm/slab.h:767 slab_alloc_node mm/slub.c:3478 [en línea] kmem_cache_alloc_node+0x577/0xa80 mm/slub.c:3523 kmalloc_reserve+0x13d/0x4a0 net/ núcleo/ skbuff.c:559 __alloc_skb+0x318/0x740 net/core/skbuff.c:650 alloc_skb include/linux/skbuff.h:1286 [en línea] netlink_alloc_large_skb net/netlink/af_netlink.c:1214 [en línea] netlink_sendmsg+0xb34/0x13d0 net/netlink/af_netlink.c:1885 sock_sendmsg_nosec net/socket.c:730 [en línea] sock_sendmsg net/socket.c:753 [en línea] ____sys_sendmsg+0x9c2/0xd60 net/socket.c:2541 ___sys_sendmsg+0x28d/0x3c0 net/ socket.c:2595 __sys_sendmsg net/socket.c:2624 [en línea] __do_sys_sendmsg net/socket.c:2633 [en línea] __se_sys_sendmsg net/socket.c:2631 [en línea] __x64_sys_sendmsg+0x307/0x490 :2631 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80 Entry_SYSCALL_64_after_hwframe+0x63/0xcd Los nombres relacionados con el portador TIPC, incluidos los nombres de enlaces, deben ser cadenas terminadas en nulo . Si un nombre de enlace que no termina en nulo se pasa a través de netlink, strstr() y funciones similares pueden provocar una saturación del búfer. Esto causa el problema anterior. Este parche cambia la nla_policy para nombres relacionados con el portador de NLA_STRING a NLA_NUL_STRING. Esto resuelve el problema garantizando que sólo se acepten cadenas terminadas en nulo como nombres relacionados con el portador. syzbot informó un problema similar de valor uninitario relacionado con los nombres de los portadores [2]. La causa principal de este problema es que se pasó un nombre de portador no terminado en nulo. Este parche también resolvió este problema.
References () https://git.kernel.org/stable/c/19b3f72a41a8751e26bffc093bb7e1cef29ad579 - () https://git.kernel.org/stable/c/19b3f72a41a8751e26bffc093bb7e1cef29ad579 -
References () https://git.kernel.org/stable/c/2199260c42e6fbc5af8adae3bf78e623407c91b0 - () https://git.kernel.org/stable/c/2199260c42e6fbc5af8adae3bf78e623407c91b0 -
References () https://git.kernel.org/stable/c/2426425d686b43adbc4f2f4a367b494f06f159d6 - () https://git.kernel.org/stable/c/2426425d686b43adbc4f2f4a367b494f06f159d6 -
References () https://git.kernel.org/stable/c/3907b89cd17fcc23e9a80789c36856f00ece0ba8 - () https://git.kernel.org/stable/c/3907b89cd17fcc23e9a80789c36856f00ece0ba8 -
References () https://git.kernel.org/stable/c/4c731e98fe4d678e87ba3e4d45d3cf0a5a193dc4 - () https://git.kernel.org/stable/c/4c731e98fe4d678e87ba3e4d45d3cf0a5a193dc4 -
References () https://git.kernel.org/stable/c/560992f41c0cea44b7603bc9e6c73bffbf6b5709 - () https://git.kernel.org/stable/c/560992f41c0cea44b7603bc9e6c73bffbf6b5709 -
References () https://git.kernel.org/stable/c/6744008c354bca2e4686a5b6056ee6b535d9f67d - () https://git.kernel.org/stable/c/6744008c354bca2e4686a5b6056ee6b535d9f67d -
References () https://git.kernel.org/stable/c/abc1582119e8c4af14cedb0db6541fd603f45a04 - () https://git.kernel.org/stable/c/abc1582119e8c4af14cedb0db6541fd603f45a04 -
References () https://git.kernel.org/stable/c/b33d130f07f1decd756b849ab03c23d11d4dd294 - () https://git.kernel.org/stable/c/b33d130f07f1decd756b849ab03c23d11d4dd294 -

21 May 2024, 16:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-05-21 16:15

Updated : 2025-01-31 16:01


NVD link : CVE-2023-52845

Mitre link : CVE-2023-52845

CVE.ORG link : CVE-2023-52845


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-908

Use of Uninitialized Resource