Description
In the Linux kernel, the following vulnerability has been resolved: tipc: avoid use-after-free in poll trace queue dumps TIPC socket tracepoints dump queue state through tipc_sk_dump(). Most queue-dump callsites already serialize that walk under the socket lock or sk->sk_lock.slock, but tipc_poll() calls trace_tipc_sk_poll(..., TIPC_DUMP_ALL, ...) without holding either lock. That lets the poll trace path reach tipc_list_dump() and backlog head/tail dumping while another context dequeues and frees an skb, leaving the trace helper dereferencing a stale queue entry. Stop the unlocked poll trace site from requesting queue dumps. Other queue dump trace callsites keep their existing output under the locking they already provide, while poll still emits the event itself without walking live queue members from an unlocked context.
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
b4b9771bcbbd5839b0f77aba55e2f85989ed6779 to < 3cd57c6b210d50fd1f7ac1720442ba5be5dc94f8affectedb4b9771bcbbd5839b0f77aba55e2f85989ed6779 to < ae7fc824970888b4fdaa076819c9a6f2fcede275affectedb4b9771bcbbd5839b0f77aba55e2f85989ed6779 to < 78706367fe1b98aee0a6de27c62b7f1e3035f38daffectedb4b9771bcbbd5839b0f77aba55e2f85989ed6779 to < d7940bb6a8e7ab28f972c2875cb05783216312dcaffectedb4b9771bcbbd5839b0f77aba55e2f85989ed6779 to < 5e82beba4bc1f91d0e64c9c43f2b2fa9cd1c2a7daffectedb4b9771bcbbd5839b0f77aba55e2f85989ed6779 to < bed792737b5f1ba773054dbe984502958bdfe6ceaffectedb4b9771bcbbd5839b0f77aba55e2f85989ed6779 to < ac2f787980fdf4364cd5651a4c8128e59b8de3aaaffectedb4b9771bcbbd5839b0f77aba55e2f85989ed6779 to < b4f1719dfea023220e0e6bd892b087d76b2a6a49affected
Linux Linux
Default version status: affected
5.0affected0 to < 5.0unaffected5.10.265 to ≤ 5.10.*unaffected5.15.216 to ≤ 5.15.*unaffected6.1.183 to ≤ 6.1.*unaffected6.6.151 to ≤ 6.6.*unaffected6.12.103 to ≤ 6.12.*unaffected6.18.44 to ≤ 6.18.*unaffected7.1.8 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/3cd57c6b210d50fd1f7ac1720442ba5be5dc94f8 ↗
- https://git.kernel.org/stable/c/ae7fc824970888b4fdaa076819c9a6f2fcede275 ↗
- https://git.kernel.org/stable/c/78706367fe1b98aee0a6de27c62b7f1e3035f38d ↗
- https://git.kernel.org/stable/c/d7940bb6a8e7ab28f972c2875cb05783216312dc ↗
- https://git.kernel.org/stable/c/5e82beba4bc1f91d0e64c9c43f2b2fa9cd1c2a7d ↗
- https://git.kernel.org/stable/c/bed792737b5f1ba773054dbe984502958bdfe6ce ↗
- https://git.kernel.org/stable/c/ac2f787980fdf4364cd5651a4c8128e59b8de3aa ↗
- https://git.kernel.org/stable/c/b4f1719dfea023220e0e6bd892b087d76b2a6a49 ↗