Description
In the Linux kernel, the following vulnerability has been resolved: net: bonding: fix NULL deref in bond_debug_rlb_hash_show rlb_clear_slave intentionally keeps RLB hash-table entries on the rx_hashtbl_used_head list with slave set to NULL when no replacement slave is available. However, bond_debug_rlb_hash_show visites client_info->slave without checking if it's NULL. Other used-list iterators in bond_alb.c already handle this NULL-slave state safely: - rlb_update_client returns early on !client_info->slave - rlb_req_update_slave_clients, rlb_clear_slave, and rlb_rebalance compare slave values before visiting - lb_req_update_subnet_clients continues if slave is NULL The following NULL deref crash can be trigger in bond_debug_rlb_hash_show: [ 1.289791] BUG: kernel NULL pointer dereference, address: 0000000000000000 [ 1.292058] RIP: 0010:bond_debug_rlb_hash_show (drivers/net/bonding/bond_debugfs.c:41) [ 1.293101] RSP: 0018:ffffc900004a7d00 EFLAGS: 00010286 [ 1.293333] RAX: 0000000000000000 RBX: ffff888102b48200 RCX: ffff888102b48204 [ 1.293631] RDX: ffff888102b48200 RSI: ffffffff839daad5 RDI: ffff888102815078 [ 1.293924] RBP: ffff888102815078 R08: ffff888102b4820e R09: 0000000000000000 [ 1.294267] R10: 0000000000000000 R11: 0000000000000000 R12: ffff888100f929c0 [ 1.294564] R13: ffff888100f92a00 R14: 0000000000000001 R15: ffffc900004a7ed8 [ 1.294864] FS: 0000000001395380(0000) GS:ffff888196e75000(0000) knlGS:0000000000000000 [ 1.295239] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 1.295480] CR2: 0000000000000000 CR3: 0000000102adc004 CR4: 0000000000772ef0 [ 1.295897] Call Trace: [ 1.296134] seq_read_iter (fs/seq_file.c:231) [ 1.296341] seq_read (fs/seq_file.c:164) [ 1.296493] full_proxy_read (fs/debugfs/file.c:378 (discriminator 1)) [ 1.296658] vfs_read (fs/read_write.c:572) [ 1.296981] ksys_read (fs/read_write.c:717) [ 1.297132] do_syscall_64 (arch/x86/entry/syscall_64.c:63 (discriminator 1) arch/x86/entry/syscall_64.c:94 (discriminator 1)) [ 1.297325] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) Add a NULL check and print "(none)" for entries with no assigned slave.
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
caafa84251b886feb6cdf23d50e2cc99dcdaaaf3 to < 19f0fd87df0e5746b24f5caa465a66a8c6e6e241affectedcaafa84251b886feb6cdf23d50e2cc99dcdaaaf3 to < edacf1613f7b26423ebfa8b2892e7453c4235354affectedcaafa84251b886feb6cdf23d50e2cc99dcdaaaf3 to < 2ec2c777f357a83c3d503d8d9370c90b60f0ae63affectedcaafa84251b886feb6cdf23d50e2cc99dcdaaaf3 to < 0a3f8cd3f370247ded14d38d216b49dd30eade76affectedcaafa84251b886feb6cdf23d50e2cc99dcdaaaf3 to < 6a3bb74e25d79cbb15f67ef80f71e2b2bfe27ff4affectedcaafa84251b886feb6cdf23d50e2cc99dcdaaaf3 to < 017d674cf6930e9586a29ee808c7ca09d1396d07affectedcaafa84251b886feb6cdf23d50e2cc99dcdaaaf3 to < ec9762f0df2f9fbe3f40a3bfa8aab8b2f721466caffectedcaafa84251b886feb6cdf23d50e2cc99dcdaaaf3 to < 605b52497bf89b3b154674deb135da98f916e390affected
Linux Linux
Default version status: affected
2.6.38affected0 to < 2.6.38unaffected5.10.253 to ≤ 5.10.*unaffected5.15.203 to ≤ 5.15.*unaffected6.1.167 to ≤ 6.1.*unaffected6.6.130 to ≤ 6.6.*unaffected6.12.78 to ≤ 6.12.*unaffected6.18.20 to ≤ 6.18.*unaffected6.19.10 to ≤ 6.19.*unaffected7.0 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/19f0fd87df0e5746b24f5caa465a66a8c6e6e241 ↗
- https://git.kernel.org/stable/c/edacf1613f7b26423ebfa8b2892e7453c4235354 ↗
- https://git.kernel.org/stable/c/2ec2c777f357a83c3d503d8d9370c90b60f0ae63 ↗
- https://git.kernel.org/stable/c/0a3f8cd3f370247ded14d38d216b49dd30eade76 ↗
- https://git.kernel.org/stable/c/6a3bb74e25d79cbb15f67ef80f71e2b2bfe27ff4 ↗
- https://git.kernel.org/stable/c/017d674cf6930e9586a29ee808c7ca09d1396d07 ↗
- https://git.kernel.org/stable/c/ec9762f0df2f9fbe3f40a3bfa8aab8b2f721466c ↗
- https://git.kernel.org/stable/c/605b52497bf89b3b154674deb135da98f916e390 ↗
- https://cert-portal.siemens.com/productcert/html/ssa-082556.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-019113.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-457936.html ↗