Aller au contenu
7.8 Élevée

CVE-2026-31419 In the Linux kernel, the following vulnerability has been resolved: net: bonding: fix use-after-free in…

Description

In the Linux kernel, the following vulnerability has been resolved: net: bonding: fix use-after-free in bond_xmit_broadcast() bond_xmit_broadcast() reuses the original skb for the last slave (determined by bond_is_last_slave()) and clones it for others. Concurrent slave enslave/release can mutate the slave list during RCU-protected iteration, changing which slave is "last" mid-loop. This causes the original skb to be double-consumed (double-freed). Replace the racy bond_is_last_slave() check with a simple index comparison (i + 1 == slaves_count) against the pre-snapshot slave count taken via READ_ONCE() before the loop. This preserves the zero-copy optimization for the last slave while making the "last" determination stable against concurrent list mutations. The UAF can trigger the following crash: ================================================================== BUG: KASAN: slab-use-after-free in skb_clone Read of size 8 at addr ffff888100ef8d40 by task exploit/147 CPU: 1 UID: 0 PID: 147 Comm: exploit Not tainted 7.0.0-rc3+ #4 PREEMPTLAZY Call Trace: <TASK> dump_stack_lvl (lib/dump_stack.c:123) print_report (mm/kasan/report.c:379 mm/kasan/report.c:482) kasan_report (mm/kasan/report.c:597) skb_clone (include/linux/skbuff.h:1724 include/linux/skbuff.h:1792 include/linux/skbuff.h:3396 net/core/skbuff.c:2108) bond_xmit_broadcast (drivers/net/bonding/bond_main.c:5334) bond_start_xmit (drivers/net/bonding/bond_main.c:5567 drivers/net/bonding/bond_main.c:5593) dev_hard_start_xmit (include/linux/netdevice.h:5325 include/linux/netdevice.h:5334 net/core/dev.c:3871 net/core/dev.c:3887) __dev_queue_xmit (include/linux/netdevice.h:3601 net/core/dev.c:4838) ip6_finish_output2 (include/net/neighbour.h:540 include/net/neighbour.h:554 net/ipv6/ip6_output.c:136) ip6_finish_output (net/ipv6/ip6_output.c:208 net/ipv6/ip6_output.c:219) ip6_output (net/ipv6/ip6_output.c:250) ip6_send_skb (net/ipv6/ip6_output.c:1985) udp_v6_send_skb (net/ipv6/udp.c:1442) udpv6_sendmsg (net/ipv6/udp.c:1733) __sys_sendto (net/socket.c:730 net/socket.c:742 net/socket.c:2206) __x64_sys_sendto (net/socket.c:2209) do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) </TASK> Allocated by task 147: Freed by task 147: The buggy address belongs to the object at ffff888100ef8c80 which belongs to the cache skbuff_head_cache of size 224 The buggy address is located 192 bytes inside of freed 224-byte region [ffff888100ef8c80, ffff888100ef8d60) Memory state around the buggy address: ffff888100ef8c00: fb fb fb fb fc fc fc fc fc fc fc fc fc fc fc fc ffff888100ef8c80: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff888100ef8d00: fb fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc ^ ffff888100ef8d80: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb ffff888100ef8e00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================

Produits et versions touchés

Produit Versions touchées Corrigé en
Linux 7.0 premières → < 7.0 7.0
Linux 6.19 premières → < 6.19.12 6.19.12
Linux 6.18 premières → < 6.18.22 6.18.22
Linux 6.12 premières → < 6.12.95 6.12.95
Linux 6.6 premières → < 6.6.143 6.6.143
Linux 6.1 premières → < 6.1.184 6.1.184
Linux 5.17 Pas de correctif indiqué
Linux 5.15 premières → < 5.15.224 5.15.224
Linux 5.10 premières → < 5.10.273 5.10.273
Afficher les 48 autres branches
Produit Versions touchées Corrigé en
Red Hat Enterprise Linux AppStream EUS (v. 10.0) Versions non publiées
Red Hat Enterprise Linux AppStream (v. 10) Versions non publiées
Red Hat Enterprise Linux AppStream E4S (v.9.2) Versions non publiées
Red Hat Enterprise Linux AppStream EUS (v.9.4) Versions non publiées
Red Hat Enterprise Linux AppStream EUS (v.9.6) Versions non publiées
Red Hat Enterprise Linux AppStream (v. 9) Versions non publiées
Red Hat Enterprise Linux BaseOS EUS (v. 10.0) Versions non publiées
Red Hat Enterprise Linux BaseOS (v. 10) Versions non publiées
Red Hat Enterprise Linux BaseOS (v. 8) Versions non publiées
Red Hat Enterprise Linux BaseOS E4S (v.8.8) Versions non publiées
Red Hat Enterprise Linux BaseOS TUS (v.8.8) Versions non publiées
Red Hat Enterprise Linux BaseOS E4S (v.9.2) Versions non publiées
Red Hat Enterprise Linux BaseOS EUS (v.9.4) Versions non publiées
Red Hat Enterprise Linux BaseOS EUS (v.9.6) Versions non publiées
Red Hat Enterprise Linux BaseOS (v. 9) Versions non publiées
Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) Versions non publiées
Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) Versions non publiées
Red Hat Enterprise Linux CRB (v. 8) Versions non publiées
Red Hat CodeReady Linux Builder EUS (v.9.4) Versions non publiées
Red Hat CodeReady Linux Builder EUS (v.9.6) Versions non publiées
Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) Versions non publiées
Red Hat Enterprise Linux Real Time for NFV EUS (v. 10.0) Versions non publiées
Red Hat Enterprise Linux Real Time for NFV (v. 10) Versions non publiées
Red Hat Enterprise Linux NFV (v. 8) Versions non publiées
Red Hat Enterprise Linux Real Time for NFV E4S (v.9.2) Versions non publiées
Red Hat Enterprise Linux Real Time for NFV EUS (v.9.4) Versions non publiées
Red Hat Enterprise Linux Real Time for NFV EUS (v.9.6) Versions non publiées
Red Hat Enterprise Linux Real Time for NFV (v. 9) Versions non publiées
Red Hat Enterprise Linux Real Time EUS (v. 10.0) Versions non publiées
Red Hat Enterprise Linux Real Time (v. 10) Versions non publiées
Red Hat Enterprise Linux RT (v. 8) Versions non publiées
Red Hat Enterprise Linux Real Time E4S (v.9.2) Versions non publiées
Red Hat Enterprise Linux Real Time EUS (v.9.4) Versions non publiées
Red Hat Enterprise Linux Real Time EUS (v.9.6) Versions non publiées
Red Hat Enterprise Linux Real Time (v. 9) Versions non publiées
Red Hat Enterprise Linux 9 Versions non publiées
Red Hat Enterprise Linux 6 Versions non publiées
Red Hat Enterprise Linux 7 Versions non publiées
Red Hat Enterprise Linux BaseOS E4S (v.9.4) Versions non publiées
Red Hat Enterprise Linux 10 Versions non publiées
Red Hat Enterprise Linux 10.0 Extended Update Support Versions non publiées
Red Hat Enterprise Linux 8 Versions non publiées
Red Hat Enterprise Linux 8.8 Telecommunications Update Service Versions non publiées
Red Hat Enterprise Linux 8.8 Update Services for SAP Solutions Versions non publiées
Red Hat Enterprise Linux 9.2 Update Services for SAP Solutions Versions non publiées
Red Hat Enterprise Linux 9.4 Extended Update Support Versions non publiées
Red Hat Enterprise Linux 9.4 Update Services for SAP Solutions Versions non publiées
Red Hat Enterprise Linux 9.6 Extended Update Support Versions non publiées

Références

Chronologie

  1. Publiée
  2. Dernière modification
Les 18283 CVE de Linux →
Suivre cette CVE