CVE-2023-52845·Kernel vulnerability
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.
- Severity
- medium
- Software
- Kernel
- Fixed in
- 6.6.2
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at <0.1% — in the bottom 1% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Affected versions
From: 6.6
Until: 6.6.2
Fixed in: 6.6.2
How to fix this CVE
Update your Linux kernel to version 6.6.2 or later to resolve a memory safety issue in TIPC bearer name validation. The vulnerability allows improperly formatted bearer names passed through netlink to trigger buffer overruns in string functions. Apply the kernel update immediately if you are running versions 6.6 through 6.6.1.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check installed kernel version: uname -r | grep -E '^6\.6\.[0-2]' (returns non-empty if vulnerable)
- Verify TIPC module is loaded: lsmod | grep tipc (if present, TIPC subsystem is active)
- Monitor netlink traffic for malformed bearer names: tcpdump -i lo 'dst port 33400' -n -A | grep -i bearer
- Confirm fix by running: uname -r and verify it shows 6.6.2 or higher
FAQ
What is CVE-2023-52845?
This vulnerability is a memory safety flaw in the TIPC (Transparent Inter-Process Communication) subsystem where non-null-terminated bearer names passed via netlink could cause buffer overruns when processed by string operations like strstr(). The kernel failed to enforce proper string termination on netlink-supplied bearer identifiers.
Is CVE-2023-52845 being actively exploited?
No, this vulnerability is not listed in CISA's Known Exploited Vulnerabilities catalog and no public exploits are currently available. However, local attackers with netlink access could trigger the flaw.
What versions of Kernel are affected by CVE-2023-52845?
Kernel versions 6.6 through 6.6.1 are vulnerable. Version 6.6.2 and later contain the fix that enforces NLA_NUL_STRING validation for bearer names.
How do I check if my server is vulnerable to CVE-2023-52845?
Run 'uname -r' and check if output matches 6.6.0 or 6.6.1; if it does and TIPC is enabled (lsmod | grep tipc returns results), your system is vulnerable.
Does Defensia detect CVE-2023-52845?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Kernel is installed on a monitored server, CVE-2023-52845 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/19b3f72a41a8751e26bffc093bb7e1cef29ad579
- https://git.kernel.org/stable/c/2199260c42e6fbc5af8adae3bf78e623407c91b0
- https://git.kernel.org/stable/c/2426425d686b43adbc4f2f4a367b494f06f159d6
- https://git.kernel.org/stable/c/3907b89cd17fcc23e9a80789c36856f00ece0ba8
- https://git.kernel.org/stable/c/4c731e98fe4d678e87ba3e4d45d3cf0a5a193dc4
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2023-52845. Free for 1 server.
Get started free