ipv6: prevent possible NULL dereference in rt6_probe()
Published Jul 12, 2024
5.5
MEDIUMCVSS 3.1
EPSS 0.27%
Description
syzbot caught a NULL dereference in rt6_probe() [1]
Bail out if __in6_dev_get() returns NULL.
[1] Oops: general protection fault, probably for non-canonical address 0xdffffc00000000cb: 0000 [#1] PREEMPT SMP KASAN PTI KASAN: null-ptr-deref in range [0x0000000000000658-0x000000000000065f] CPU: 1 PID: 22444 Comm: syz-executor.0 Not tainted 6.10.0-rc2-syzkaller-00383-gb8481381d4e2 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/2024 RIP: 0010:rt6_probe net/ipv6/route.c:656 [inline] RIP: 0010:find_match+0x8c4/0xf50 net/ipv6/route.c:758 Code: 14 fd f7 48 8b 85 38 ff ff ff 48 c7 45 b0 00 00 00 00 48 8d b8 5c 06 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 14 02 48 89 f8 83 e0 07 83 c0 03 38 d0 7c 08 84 d2 0f 85 19 RSP: 0018:ffffc900034af070 EFLAGS: 00010203 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffc90004521000 RDX: 00000000000000cb RSI: ffffffff8990d0cd RDI: 000000000000065c RBP: ffffc900034af150 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000002 R12: 000000000000000a R13: 1ffff92000695e18 R14: ffff8880244a1d20 R15: 0000000000000000 FS: 00007f4844a5a6c0(0000) GS:ffff8880b9300000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000001b31b27000 CR3: 000000002d42c000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> rt6_nh_find_match+0xfa/0x1a0 net/ipv6/route.c:784 nexthop_for_each_fib6_nh+0x26d/0x4a0 net/ipv4/nexthop.c:1496 __find_rr_leaf+0x6e7/0xe00 net/ipv6/route.c:825 find_rr_leaf net/ipv6/route.c:853 [inline] rt6_select net/ipv6/route.c:897 [inline] fib6_table_lookup+0x57e/0xa30 net/ipv6/route.c:2195 ip6_pol_route+0x1cd/0x1150 net/ipv6/route.c:2231 pol_lookup_func include/net/ip6_fib.h:616 [inline] fib6_rule_lookup+0x386/0x720 net/ipv6/fib6_rules.c:121 ip6_route_output_flags_noref net/ipv6/route.c:2639 [inline] ip6_route_output_flags+0x1d0/0x640 net/ipv6/route.c:2651 ip6_dst_lookup_tail.constprop.0+0x961/0x1760 net/ipv6/ip6_output.c:1147 ip6_dst_lookup_flow+0x99/0x1d0 net/ipv6/ip6_output.c:1250 rawv6_sendmsg+0xdab/0x4340 net/ipv6/raw.c:898 inet_sendmsg+0x119/0x140 net/ipv4/af_inet.c:853 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg net/socket.c:745 [inline] sock_write_iter+0x4b8/0x5c0 net/socket.c:1160 new_sync_write fs/read_write.c:497 [inline] vfs_write+0x6b6/0x1140 fs/read_write.c:590 ksys_write+0x1f8/0x260 fs/read_write.c:643 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x250 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f
Affected products
-
Affected
- ≥ , <
- ≥ , <
- ≥ , <
- ≥ , <
- ≥ , <
- ≥ , <
- ≥ , <
- ≥ , <
-
Affected
- 2.6.17
Unaffected
- ≥ 0, < 2.6.17
- ≥ 4.19.317, ≤ 4.19.*
- ≥ 5.10.221, ≤ 5.10.*
- ≥ 5.15.162, ≤ 5.15.*
- ≥ 5.4.279, ≤ 5.4.*
- ≥ 6.1.96, ≤ 6.1.*
- 6.10
- ≥ 6.6.36, ≤ 6.6.*
- ≥ 6.9.7, ≤ 6.9.*
Default status is the baseline for the product. Each version can override it (patched versions can be marked unaffected).
| Vendor | Product | Default status | Versions |
|---|---|---|---|
| Linux | Linux | unaffected | Affected
|
| Linux | Linux | affected | Affected
Unaffected
|
- ≥ 2.6.17 · < 4.19.317
- ≥ 4.20 · < 5.4.279
- ≥ 5.5 · < 5.10.221
- ≥ 5.11 · < 5.15.162
- ≥ 5.16 · < 6.1.96
- ≥ 6.2 · < 6.6.36
- ≥ 6.7 · < 6.9.7
- 6.10
- 6.10
- 6.10
- 6.10
No data.
Red Hat Enterprise Linux 8
kernel-0:4.18.0-553.22.1.el8_10
Fixed · RHSA-2024:7000
Red Hat Enterprise Linux 8
kernel-rt-0:4.18.0-553.22.1.rt7.363.el8_10
Fixed · RHSA-2024:7001
Red Hat Enterprise Linux 9
kernel-0:5.14.0-427.42.1.el9_4
Fixed · RHSA-2024:8617
Red Hat Enterprise Linux 9
kernel-0:5.14.0-427.42.1.el9_4
Fixed · RHSA-2024:8617
Red Hat Enterprise Linux 9.2 Extended Update Support
kernel-0:5.14.0-284.90.1.el9_2
Fixed · RHSA-2024:8613
Red Hat Enterprise Linux 9.2 Extended Update Support
kernel-rt-0:5.14.0-284.90.1.rt14.375.el9_2
Fixed · RHSA-2024:8614
Red Hat Enterprise Linux 6
kernel
Out of support scope
Red Hat Enterprise Linux 7
kernel
Out of support scope
Red Hat Enterprise Linux 7
kernel-rt
Out of support scope
Red Hat Enterprise Linux 9
kernel-rt
Affected
| Product | Package | State | Advisory |
|---|---|---|---|
| Red Hat Enterprise Linux 8 | kernel-0:4.18.0-553.22.1.el8_10 | Fixed | RHSA-2024:7000 |
| Red Hat Enterprise Linux 8 | kernel-rt-0:4.18.0-553.22.1.rt7.363.el8_10 | Fixed | RHSA-2024:7001 |
| Red Hat Enterprise Linux 9 | kernel-0:5.14.0-427.42.1.el9_4 | Fixed | RHSA-2024:8617 |
| Red Hat Enterprise Linux 9 | kernel-0:5.14.0-427.42.1.el9_4 | Fixed | RHSA-2024:8617 |
| Red Hat Enterprise Linux 9.2 Extended Update Support | kernel-0:5.14.0-284.90.1.el9_2 | Fixed | RHSA-2024:8613 |
| Red Hat Enterprise Linux 9.2 Extended Update Support | kernel-rt-0:5.14.0-284.90.1.rt14.375.el9_2 | Fixed | RHSA-2024:8614 |
| Red Hat Enterprise Linux 6 | kernel | Out of support scope | n/a |
| Red Hat Enterprise Linux 7 | kernel | Out of support scope | n/a |
| Red Hat Enterprise Linux 7 | kernel-rt | Out of support scope | n/a |
| Red Hat Enterprise Linux 9 | kernel-rt | Affected | n/a |
No package ranges for this CVE.
Remediation
Red Hat mitigation
Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability.
References (18)
- https://access.redhat.com/security/cve/CVE-2024-40960 Vendor Advisory
- https://bugzilla.redhat.com/show_bug.cgi?id=2297544 Issue Tracking
- https://cert-portal.siemens.com/productcert/html/ssa-265688.html
- https://cert-portal.siemens.com/productcert/html/ssa-355557.html
- https://cert-portal.siemens.com/productcert/html/ssa-613116.html
- https://euvd.enisa.europa.eu/vulnerability/EUVD-2024-38757 Advisory
- https://git.kernel.org/stable/c/1ed9849fdf9a1a617129346b11d2094ca26828dc Patch
- https://git.kernel.org/stable/c/51ee2f7c30790799d0ec30c0ce0c743e58f046f2 Patch
- https://git.kernel.org/stable/c/569c9d9ea6648d099187527b93982f406ddcebc0 Patch
- https://git.kernel.org/stable/c/6eed6d3cd19ff3cfa83aeceed86da14abaf7417b Patch
- https://git.kernel.org/stable/c/73e7c8ca6ad76f29b2c99c20845a6f3b203ff0c6 Patch
- https://git.kernel.org/stable/c/b86762dbe19a62e785c189f313cda5b989931f37 Patch
- https://git.kernel.org/stable/c/d66fc4826127c82f99c4033380f8e93833d331c7 Patch
- https://git.kernel.org/stable/c/f0cda984e4e634b221dbf9642b8ecc5b4806b41e Patch
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html
- https://lore.kernel.org/linux-cve-announce/2024071225-CVE-2024-40960-d46f@gregkh/T
- https://nvd.nist.gov/vuln/detail/CVE-2024-40960
- https://www.cve.org/CVERecord?id=CVE-2024-40960
Change history (0)
No recorded changes yet.
CVE.org / MITRE
CISA Vulnrichment
GitHub
No data