Re: [PATCH] tipc: fix panic in tipc_udp_nl_dump_remoteip() using bearer as udp without check

From: Eric Dumazet
Date: Fri Jun 13 2025 - 02:45:10 EST


On Thu, Jun 12, 2025 at 10:55 PM Haixia Qu <hxqu@xxxxxxxxxxxxxxxx> wrote:
>
> When TIPC_NL_UDP_GET_REMOTEIP cmd calls tipc_udp_nl_dump_remoteip()
> with media name set to a l2 name, kernel panics [1].
>
> The reproduction steps:
> 1. create a tun interface
> 2. enable l2 bearer
> 3. TIPC_NL_UDP_GET_REMOTEIP with media name set to tun
>
> the ub was in fact a struct dev.
>
> when bid != 0 && skip_cnt != 0, bearer_list[bid] may be NULL or
> other media when other thread changes it.
>
> fix this by checking media_id.
>
> [1]
> tipc: Started in network mode
> tipc: Node identity 8af312d38a21, cluster identity 4711
> tipc: Enabled bearer <eth:syz_tun>, priority 1
> Oops: general protection fault
> KASAN: null-ptr-deref in range
> CPU: 1 UID: 1000 PID: 559 Comm: poc Not tainted 6.16.0-rc1+ #117 PREEMPT
> Hardware name: QEMU Ubuntu 24.04 PC
> RIP: 0010:tipc_udp_nl_dump_remoteip+0x4a4/0x8f0
>
> Signed-off-by: Haixia Qu <hxqu@xxxxxxxxxxxxxxxx>

Please add a FIxes: tag, as instructed in
Documentation/process/maintainer-netdev.rst

Thank you.