CVE-2026-31546

Severity CVSS v4.0:
Pending analysis
Type:
CWE-476 NULL Pointer Dereference
Publication date:
24/04/2026
Last modified:
28/04/2026

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> net: bonding: fix NULL deref in bond_debug_rlb_hash_show<br /> <br /> rlb_clear_slave intentionally keeps RLB hash-table entries on<br /> the rx_hashtbl_used_head list with slave set to NULL when no<br /> replacement slave is available. However, bond_debug_rlb_hash_show<br /> visites client_info-&gt;slave without checking if it&amp;#39;s NULL.<br /> <br /> Other used-list iterators in bond_alb.c already handle this NULL-slave<br /> state safely:<br /> <br /> - rlb_update_client returns early on !client_info-&gt;slave<br /> - rlb_req_update_slave_clients, rlb_clear_slave, and rlb_rebalance<br /> compare slave values before visiting<br /> - lb_req_update_subnet_clients continues if slave is NULL<br /> <br /> The following NULL deref crash can be trigger in<br /> bond_debug_rlb_hash_show:<br /> <br /> [ 1.289791] BUG: kernel NULL pointer dereference, address: 0000000000000000<br /> [ 1.292058] RIP: 0010:bond_debug_rlb_hash_show (drivers/net/bonding/bond_debugfs.c:41)<br /> [ 1.293101] RSP: 0018:ffffc900004a7d00 EFLAGS: 00010286<br /> [ 1.293333] RAX: 0000000000000000 RBX: ffff888102b48200 RCX: ffff888102b48204<br /> [ 1.293631] RDX: ffff888102b48200 RSI: ffffffff839daad5 RDI: ffff888102815078<br /> [ 1.293924] RBP: ffff888102815078 R08: ffff888102b4820e R09: 0000000000000000<br /> [ 1.294267] R10: 0000000000000000 R11: 0000000000000000 R12: ffff888100f929c0<br /> [ 1.294564] R13: ffff888100f92a00 R14: 0000000000000001 R15: ffffc900004a7ed8<br /> [ 1.294864] FS: 0000000001395380(0000) GS:ffff888196e75000(0000) knlGS:0000000000000000<br /> [ 1.295239] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033<br /> [ 1.295480] CR2: 0000000000000000 CR3: 0000000102adc004 CR4: 0000000000772ef0<br /> [ 1.295897] Call Trace:<br /> [ 1.296134] seq_read_iter (fs/seq_file.c:231)<br /> [ 1.296341] seq_read (fs/seq_file.c:164)<br /> [ 1.296493] full_proxy_read (fs/debugfs/file.c:378 (discriminator 1))<br /> [ 1.296658] vfs_read (fs/read_write.c:572)<br /> [ 1.296981] ksys_read (fs/read_write.c:717)<br /> [ 1.297132] do_syscall_64 (arch/x86/entry/syscall_64.c:63 (discriminator 1) arch/x86/entry/syscall_64.c:94 (discriminator 1))<br /> [ 1.297325] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130)<br /> <br /> Add a NULL check and print "(none)" for entries with no assigned slave.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 2.6.38.1 (including) 5.10.253 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.203 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.167 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.130 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.12.78 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (including) 6.18.20 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 (including) 6.19.10 (excluding)
cpe:2.3:o:linux:linux_kernel:2.6.38:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:*