CVE-2026-68297: tipc: fix u16 MTU truncation in media and bearer MTU validation
Greg Kroah-Hartman <[email protected]>
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026081029-CVE-2026-68297-3b40@gregkh> |
From: Greg Kroah-Hartman <[email protected]> Description =========== In the Linux kernel, the following vulnerability has been resolved: tipc: fix u16 MTU truncation in media and bearer MTU validation Both TIPC_NL_MEDIA_SET and TIPC_NL_BEARER_SET accept user-supplied MTU values but only enforce a minimum bound, not a maximum. When a user sets the MTU to a value exceeding U16_MAX (65535), it passes validation but is silently truncated when assigned to u16 fields l->mtu and l->advertised_mtu in tipc_link_create(). Values like 65536 (0x10000) truncate to 0, causing a division by zero in tipc_link_set_queue_limits() which computes TIPC_MAX_PUBL / (l->mtu / ITEM_SIZE). Other overflowing values (e.g. 65537-131071) produce small incorrect MTU values, resulting in link malfunction behaviors. Crash stack (triggered as unprivileged user via user namespace): tipc_link_set_queue_limits net/tipc/link.c:2531 tipc_link_create net/tipc/link.c:520 tipc_node_check_dest net/tipc/node.c:1279 tipc_disc_rcv net/tipc/discover.c:252 tipc_rcv net/tipc/node.c:2129 tipc_udp_recv net/tipc/udp_media.c:392 Two independent paths lack the upper bound check: 1. tipc_udp_mtu_bad() -- called from __tipc_nl_media_set() (MEDIA_SET) 2. inline check in __tipc_nl_bearer_set() at bearer.c:1160 (BEARER_SET) Fix both by rejecting MTU values above U16_MAX. The Linux kernel CVE team has assigned CVE-2026-68297 to this issue. Affected and fixed versions =========================== Issue introduced in 4.18 with commit 901271e0403af638c224987c2a4e55cebade7e91 and fixed in 6.6.148 with commit f02334a9e378f7e07232b26dc3d2ab353339f040 Issue introduced in 4.18 with commit 901271e0403af638c224987c2a4e55cebade7e91 and fixed in 6.12.101 with commit f4013598b69457dbea350df52e52daea6faef8eb Issue introduced in 4.18 with commit 901271e0403af638c224987c2a4e55cebade7e91 and fixed in 6.18.42 with commit 1b8fb5a20508bfb0db854e01214888c761b3a911 Issue introduced in 4.18 with commit 901271e0403af638c224987c2a4e55cebade7e91 and fixed in 7.1.6 with commit c1cda72f6acec02ebd45d913bf8527ff77336ba6 Issue introduced in 4.18 with commit 901271e0403af638c224987c2a4e55cebade7e91 and fixed in 7.2-rc5 with commit 9f29cd8a8e7901a2617c8064ce9f50fc67b97cb8 Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-68297 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: net/tipc/netlink.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/f02334a9e378f7e07232b26dc3d2ab353339f040 https://git.kernel.org/stable/c/f4013598b69457dbea350df52e52daea6faef8eb https://git.kernel.org/stable/c/1b8fb5a20508bfb0db854e01214888c761b3a911 https://git.kernel.org/stable/c/c1cda72f6acec02ebd45d913bf8527ff77336ba6 https://git.kernel.org/stable/c/9f29cd8a8e7901a2617c8064ce9f50fc67b97cb8