tipc: serialize udp bearer replicast list updates (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.10 % · percentile 1 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Received
Description
In the Linux kernel, the following vulnerability has been resolved: tipc: serialize udp bearer replicast list updates tipc_udp_rcast_add() and cleanup_bearer() both update ub->rcast.list with list_add_rcu() / list_del_rcu(), but nothing serializes them. The add runs from the encap receive softirq (via tipc_udp_rcast_disc()) without rtnl_lock(), so it can race the cleanup delete and corrupt the list: list_del corruption. prev->next should be ffff8880298d7ab8, but was ffff88802449ad38. (prev=ffff888027e3ec98) kernel BUG at lib/list_debug.c:62! RIP: __list_del_entry_valid_or_report+0x17a/0x200 Workqueue: events cleanup_bearer Call Trace: cleanup_bearer (net/tipc/udp_media.c:811) process_one_work (kernel/workqueue.c:3302) worker_thread (kernel/workqueue.c:3466) The bearer can be enabled from an unprivileged user namespace, as the TIPCv2 generic-netlink ops carry no GENL_ADMIN_PERM. Add a spinlock to struct udp_bearer and take it around the list_add_rcu() in tipc_udp_rcast_add() and the list_del_rcu() loop in cleanup_bearer() so the two writers can no longer corrupt the list. Reject a duplicate peer under the same lock before allocating, and remove tipc_udp_is_known_peer(). The old lockless pre-check in tipc_udp_rcast_disc() was racy: two softirqs discovering the same peer could both find it absent and add it twice. cleanup_bearer() runs from a workqueue after tipc_udp_disable() clears the bearer's up bit, so an encap softirq can still reach tipc_udp_rcast_add() and add a peer after cleanup_bearer() has already emptied the list, leaking that entry when the bearer is freed. Mark the bearer disabled under rcast_lock once the list is emptied and refuse further additions.
Weaknesses (CWE)
- CWE-362 — Concurrent Execution using Shared Resource with Improper Synchronization
References
- https://git.kernel.org/stable/c/c148aec60ef1e806cbc9da44b3d89409df998ade
- https://git.kernel.org/stable/c/3ff6b534d20824cddab99c81ea3bd1144e635626
- https://git.kernel.org/stable/c/3ff143a884a19bfcf3aebd999b02274fe44f46f3
- https://git.kernel.org/stable/c/5d3cea7d41dc72073fea6f879815c9b57c3b330d
- https://git.kernel.org/stable/c/d70c81001df9320d3445e664428a1d408b5ba896
- https://git.kernel.org/stable/c/350e592ff4e30e48ffb55e142d11a73e63f4869c
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | HIGH 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | Linux |
| CVSS 3.1 | HIGH 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H | NVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary) |
European references
- ENISA EUVD · EUVD-2026-55424
- GCVE · GCVE-0-2026-68323
CERT-FR advisories
- CERTFR-2026-AVI-1432 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1385 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1333 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
- CERTFR-2026-AVI-1286 — Multiples vulnérabilités dans le noyau Linux d'Ubuntu · cert.ssi.gouv.fr
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected ef20cd4dd1633987bcf46ac34ace2c8af212361f < c148aec60ef1e806cbc9da44b3d89409df998ade ; affected ef20cd4dd1633987bcf46ac34ace2c8af212361f < 3ff6b534d20824cddab99c81ea3bd1144e635626 ; affected ef20cd4dd1633987bcf46ac34ace2c8af212361f < 3ff143a884a19bfcf3aebd999b02274fe44f46f3 ; affected ef20cd4dd1633987bcf46ac34ace2c8af212361f < 5d3cea7d41dc72073fea6f879815c9b57c3b330d ; affected ef20cd4dd1633987bcf46ac34ace2c8af212361f < d70c81001df9320d3445e664428a1d408b5ba896 ; affected ef20cd4dd1633987bcf46ac34ace2c8af212361f < 350e592ff4e30e48ffb55e142d11a73e63f4869c |
| Linux · Linux | affected 4.9 ; unaffected 0 < 4.9 ; unaffected 6.1.191 ≤ 6.1.* ; unaffected 6.6.160 ≤ 6.6.* ; unaffected 6.12.114 ≤ 6.12.* ; unaffected 6.18.57 ≤ 6.18.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |