Description
In the Linux kernel, the following vulnerability has been resolved: tipc: reject inverted service ranges from peer bindings tipc_update_nametbl() inserts a binding advertised by a peer node using the lower and upper service-range bounds taken directly from the wire, without checking that lower <= upper. The local bind path validates the ordering (tipc_uaddr_valid()), but the name-distribution path does not. A binding with lower > upper is inserted at the far end of the service-range rbtree (keyed on lower) where no lookup or withdrawal can ever match it (service_range_foreach_match() requires sr->lower <= end). The publication, its service_range node and the augmented rbtree entry are then leaked for the lifetime of the namespace, and there is no per-peer cap equivalent to TIPC_MAX_PUBL on locally created bindings. Reject inverted ranges in the network path as well. A peer node can otherwise leak unbounded binding-table memory by sending PUBLICATION items with lower > upper.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
37922ea4a3105176357c8d565a9d982c4a08714a to < cd1955f81bd8ebeef51b324989ac871ad1947fb6affected37922ea4a3105176357c8d565a9d982c4a08714a to < f683200b83a0085d4e11abea8c1fdd9fdfb95b0baffected37922ea4a3105176357c8d565a9d982c4a08714a to < f1715d92ee3095d9215b493a8603a81f646fcf61affected37922ea4a3105176357c8d565a9d982c4a08714a to < 581ef56e5c34d475056ce086dc2ba0e872ba6857affected37922ea4a3105176357c8d565a9d982c4a08714a to < 7e401233f9bb74a626e70698d0d62f3a94ac0676affected37922ea4a3105176357c8d565a9d982c4a08714a to < 973bf0ed896b9898668dbadb82ed849d7d573010affected37922ea4a3105176357c8d565a9d982c4a08714a to < 2afb648f7b99216c687db1f89739c995e1144153affected
Linux Linux
Default version status: affected
4.17affected0 to < 4.17unaffected5.15.212 to ≤ 5.15.*unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/cd1955f81bd8ebeef51b324989ac871ad1947fb6 ↗
- https://git.kernel.org/stable/c/f683200b83a0085d4e11abea8c1fdd9fdfb95b0b ↗
- https://git.kernel.org/stable/c/f1715d92ee3095d9215b493a8603a81f646fcf61 ↗
- https://git.kernel.org/stable/c/581ef56e5c34d475056ce086dc2ba0e872ba6857 ↗
- https://git.kernel.org/stable/c/7e401233f9bb74a626e70698d0d62f3a94ac0676 ↗
- https://git.kernel.org/stable/c/973bf0ed896b9898668dbadb82ed849d7d573010 ↗
- https://git.kernel.org/stable/c/2afb648f7b99216c687db1f89739c995e1144153 ↗