UBUNTU-CVE-2024-39301
In the Linux kernel, the following vulnerability has been resolved: net/9p: fix uninit-value in p9_client_rpc() Syzbot with the help of KMSAN reported the following error: BUG: KMSAN: uninit-value in trace_9p_client_res include/trace/events/9p.h:146 [inline] BUG: KMSAN: uninit-value in p9_client_rpc+0x1314/0x1340 net/9p/client.c:754 trace_9p_client_res include/trace/events/9p.h:146 [inline] p9_client_rpc+0x1314/0x1340 net/9p/client.c:754 p9_client_create+0x1551/0x1ff0 net/9p/client.c:1031 v9fs_session_init+0x1b9/0x28e0 fs/9p/v9fs.c:410 v9fs_mount+0xe2/0x12b0 fs/9p/vfs_super.c:122 legacy_get_tree+0x114/0x290 fs/fs_context.c:662 vfs_get_tree+0xa7/0x570 fs/super.c:1797 do_new_mount+0x71f/0x15e0 fs/namespace.c:3352 path_mount+0x742/0x1f20 fs/namespace.c:3679 do_mount fs/namespace.c:3692 [inline] __do_sys_mount fs/namespace.c:3898 [inline] __se_sys_mount+0x725/0x810 fs/namespace.c:3875 __x64_sys_mount+0xe4/0x150 fs/namespace.c:3875 do_syscall_64+0xd5/0x1f0 entry_SYSCALL_64_after_hwframe+0x6d/0x75 Uninit was created at: __alloc_pages+0x9d6/0xe70 mm/page_alloc.c:4598 __alloc_pages_node include/linux/gfp.h:238 [inline] alloc_pages_node include/linux/gfp.h:261 [inline] alloc_slab_page mm/slub.c:2175 [inline] allocate_slab mm/slub.c:2338 [inline] new_slab+0x2de/0x1400 mm/slub.c:2391 ___slab_alloc+0x1184/0x33d0 mm/slub.c:3525 __slab_alloc mm/slub.c:3610 [inline] __slab_alloc_node mm/slub.c:3663 [inline] slab_alloc_node mm/slub.c:3835 [inline] kmem_cache_alloc+0x6d3/0xbe0 mm/slub.c:3852 p9_tag_alloc net/9p/client.c:278 [inline] p9_client_prepare_req+0x20a/0x1770 net/9p/client.c:641 p9_client_rpc+0x27e/0x1340 net/9p/client.c:688 p9_client_create+0x1551/0x1ff0 net/9p/client.c:1031 v9fs_session_init+0x1b9/0x28e0 fs/9p/v9fs.c:410 v9fs_mount+0xe2/0x12b0 fs/9p/vfs_super.c:122 legacy_get_tree+0x114/0x290 fs/fs_context.c:662 vfs_get_tree+0xa7/0x570 fs/super.c:1797 do_new_mount+0x71f/0x15e0 fs/namespace.c:3352 path_mount+0x742/0x1f20 fs/namespace.c:3679 do_mount fs/namespace.c:3692 [inline] __do_sys_mount fs/namespace.c:3898 [inline] __se_sys_mount+0x725/0x810 fs/namespace.c:3875 __x64_sys_mount+0xe4/0x150 fs/namespace.c:3875 do_syscall_64+0xd5/0x1f0 entry_SYSCALL_64_after_hwframe+0x6d/0x75 If p9_check_errors() fails early in p9_client_rpc(), req->rc.tag will not be properly initialized. However, trace_9p_client_res() ends up trying to print it out anyway before p9_client_rpc() finishes. Fix this issue by assigning default values to p9_fcall fields such as 'tag' and (just in case KMSAN unearths something new) 'id' during the tag allocation stage.
02 / AFFECTED SOFTWARE
Affected packages
11 explicit affected versions
35 explicit affected versions
49 explicit affected versions
50 explicit affected versions
6 explicit affected versions
12 explicit affected versions
19 explicit affected versions
6 explicit affected versions
58 explicit affected versions
10 explicit affected versions
44 explicit affected versions
63 explicit affected versions
54 explicit affected versions
44 explicit affected versions
10 explicit affected versions
3 explicit affected versions
9 explicit affected versions
51 explicit affected versions
191 explicit affected versions
7 explicit affected versions
50 explicit affected versions
4 explicit affected versions
90 explicit affected versions
13 explicit affected versions
67 explicit affected versions
6 explicit affected versions
35 explicit affected versions
11 explicit affected versions
16 explicit affected versions
18 explicit affected versions
12 explicit affected versions
98 explicit affected versions
37 explicit affected versions
9 explicit affected versions
92 explicit affected versions
13 explicit affected versions
4 explicit affected versions
23 explicit affected versions
103 explicit affected versions
13 explicit affected versions
1 explicit affected versions
21 explicit affected versions
16 explicit affected versions
10 explicit affected versions
47 explicit affected versions
11 explicit affected versions
7 explicit affected versions
12 explicit affected versions
42 explicit affected versions
12 explicit affected versions
14 explicit affected versions
7 explicit affected versions
80 explicit affected versions
12 explicit affected versions
95 explicit affected versions
103 explicit affected versions
12 explicit affected versions
4 explicit affected versions
91 explicit affected versions
102 explicit affected versions
11 explicit affected versions
5 explicit affected versions
10 explicit affected versions
169 explicit affected versions
37 explicit affected versions
13 explicit affected versions
2 explicit affected versions
10 explicit affected versions
31 explicit affected versions
1 explicit affected versions
33 explicit affected versions
26 explicit affected versions
13 explicit affected versions
6 explicit affected versions
1 explicit affected versions
29 explicit affected versions
83 explicit affected versions
13 explicit affected versions
55 explicit affected versions
3 explicit affected versions
4 explicit affected versions
1 explicit affected versions
78 explicit affected versions
53 explicit affected versions
95 explicit affected versions
15 explicit affected versions
33 explicit affected versions
23 explicit affected versions
10 explicit affected versions
1 explicit affected versions
96 explicit affected versions
11 explicit affected versions
12 explicit affected versions
119 explicit affected versions
7 explicit affected versions
12 explicit affected versions
93 explicit affected versions
2 explicit affected versions
42 explicit affected versions
36 explicit affected versions
112 explicit affected versions
52 explicit affected versions
146 explicit affected versions
132 explicit affected versions
10 explicit affected versions
26 explicit affected versions
11 explicit affected versions
29 explicit affected versions
1 explicit affected versions
3 explicit affected versions
12 explicit affected versions
13 explicit affected versions
11 explicit affected versions
119 explicit affected versions
53 explicit affected versions
16 explicit affected versions
55 explicit affected versions
12 explicit affected versions
43 explicit affected versions
3 explicit affected versions
73 explicit affected versions
1 explicit affected versions
2 explicit affected versions
60 explicit affected versions
51 explicit affected versions
72 explicit affected versions
9 explicit affected versions
12 explicit affected versions
41 explicit affected versions
27 explicit affected versions
27 explicit affected versions
1 explicit affected versions
1 explicit affected versions
76 explicit affected versions
5 explicit affected versions
8 explicit affected versions
16 explicit affected versions
5 explicit affected versions
8 explicit affected versions
1 explicit affected versions
10 explicit affected versions
8 explicit affected versions
13 explicit affected versions
82 explicit affected versions
13 explicit affected versions
47 explicit affected versions
7 explicit affected versions
74 explicit affected versions
46 explicit affected versions
10 explicit affected versions
13 explicit affected versions
12 explicit affected versions
82 explicit affected versions
44 explicit affected versions
16 explicit affected versions
3 explicit affected versions
13 explicit affected versions
26 explicit affected versions
41 explicit affected versions
37 explicit affected versions
12 explicit affected versions
14 explicit affected versions
38 explicit affected versions
44 explicit affected versions
9 explicit affected versions
44 explicit affected versions
11 explicit affected versions
4 explicit affected versions
52 explicit affected versions
7 explicit affected versions
25 explicit affected versions
79 explicit affected versions
54 explicit affected versions
123 explicit affected versions
102 explicit affected versions
4 explicit affected versions
1 explicit affected versions
1 explicit affected versions
50 explicit affected versions
95 explicit affected versions
13 explicit affected versions
43 explicit affected versions
48 explicit affected versions
126 explicit affected versions
146 explicit affected versions
10 explicit affected versions
8 explicit affected versions
7 explicit affected versions
14 explicit affected versions
83 explicit affected versions
4 explicit affected versions
72 explicit affected versions
11 explicit affected versions
1 explicit affected versions
49 explicit affected versions
5 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
In the Linux kernel, the following vulnerability has been resolved: net/9p: fix uninit-value in p9_client_rpc() Syzbot with the help of KMSAN reported the following error: BUG: KMSAN: uninit-value in trace_9p_client_res include/trace/events/9p.h:146 [inline] BUG: KMSAN: uninit-value in p9_client_rpc+0x1314/0x1340 net/9p/client.c:754 trace_9p_client_res include/trace/events/9p.h:146 [inline] p9_client_rpc+0x1314/0x1340 net/9p/client.c:754 p9_client_create+0x1551/0x1ff0 net/9p/client.c:1031 v9fs_session_init+0x1b9/0x28e0 fs/9p/v9fs.c:410 v9fs_mount+0xe2/0x12b0 fs/9p/vfs_super.c:122 legacy_get_tree+0x114/0x290 fs/fs_context.c:662 vfs_get_tree+0xa7/0x570 fs/super.c:1797 do_new_mount+0x71f/0x15e0 fs/namespace.c:3352 path_mount+0x742/0x1f20 fs/namespace.c:3679 do_mount fs/namespace.c:3692 [inline] __do_sys_mount fs/namespace.c:3898 [inline] __se_sys_mount+0x725/0x810 fs/namespace.c:3875 __x64_sys_mount+0xe4/0x150 fs/namespace.c:3875 do_syscall_64+0xd5/0x1f0 entry_SYSCALL_64_after_hwframe+0x6d/0x75 Uninit was created at: __alloc_pages+0x9d6/0xe70 mm/page_alloc.c:4598 __alloc_pages_node include/linux/gfp.h:238 [inline] alloc_pages_node include/linux/gfp.h:261 [inline] alloc_slab_page mm/slub.c:2175 [inline] allocate_slab mm/slub.c:2338 [inline] new_slab+0x2de/0x1400 mm/slub.c:2391 ___slab_alloc+0x1184/0x33d0 mm/slub.c:3525 __slab_alloc mm/slub.c:3610 [inline] __slab_alloc_node mm/slub.c:3663 [inline] slab_alloc_node mm/slub.c:3835 [inline] kmem_cache_alloc+0x6d3/0xbe0 mm/slub.c:3852 p9_tag_alloc net/9p/client.c:278 [inline] p9_client_prepare_req+0x20a/0x1770 net/9p/client.c:641 p9_client_rpc+0x27e/0x1340 net/9p/client.c:688 p9_client_create+0x1551/0x1ff0 net/9p/client.c:1031 v9fs_session_init+0x1b9/0x28e0 fs/9p/v9fs.c:410 v9fs_mount+0xe2/0x12b0 fs/9p/vfs_super.c:122 legacy_get_tree+0x114/0x290 fs/fs_context.c:662 vfs_get_tree+0xa7/0x570 fs/super.c:1797 do_new_mount+0x71f/0x15e0 fs/namespace.c:3352 path_mount+0x742/0x1f20 fs/namespace.c:3679 do_mount fs/namespace.c:3692 [inline] __do_sys_mount fs/namespace.c:3898 [inline] __se_sys_mount+0x725/0x810 fs/namespace.c:3875 __x64_sys_mount+0xe4/0x150 fs/namespace.c:3875 do_syscall_64+0xd5/0x1f0 entry_SYSCALL_64_after_hwframe+0x6d/0x75 If p9_check_errors() fails early in p9_client_rpc(), req->rc.tag will not be properly initialized. However, trace_9p_client_res() ends up trying to print it out anyway before p9_client_rpc() finishes. Fix this issue by assigning default values to p9_fcall fields such as 'tag' and (just in case KMSAN unearths something new) 'id' during the tag allocation stage.
05 / REFERENCES
Further evidence
- https://git.kernel.org/linus/25460d6f39024cc3b8241b14c7ccf0d6f11a736a
- https://git.kernel.org/stable/c/124947855564572713d705a13be7d0c9dae16a17
- https://git.kernel.org/stable/c/2101901dd58c6da4924bc5efb217a1d83436290b
- https://git.kernel.org/stable/c/25460d6f39024cc3b8241b14c7ccf0d6f11a736a
- https://git.kernel.org/stable/c/6c1791130b781c843572fb6391c4a4c5d857ab17
- https://git.kernel.org/stable/c/72c5d8e416ecc46af370a1340b3db5ff0b0cc867
- https://git.kernel.org/stable/c/89969ffbeb948ffc159d19252e7469490103011b
- https://git.kernel.org/stable/c/ca71f204711ad24113e8b344dc5bb8b0385f5672
- https://git.kernel.org/stable/c/fe5c604053c36c62af24eee8a76407d026ea5163
- https://ubuntu.com/security/CVE-2024-39301
- https://ubuntu.com/security/notices/USN-6951-1
- https://ubuntu.com/security/notices/USN-6951-2
- https://ubuntu.com/security/notices/USN-6951-3
- https://ubuntu.com/security/notices/USN-6951-4
- https://ubuntu.com/security/notices/USN-6953-1
- https://ubuntu.com/security/notices/USN-6979-1
- https://ubuntu.com/security/notices/USN-6999-1
- https://ubuntu.com/security/notices/USN-6999-2
- https://ubuntu.com/security/notices/USN-7004-1
- https://ubuntu.com/security/notices/USN-7005-1
- https://ubuntu.com/security/notices/USN-7005-2
- https://ubuntu.com/security/notices/USN-7007-1
- https://ubuntu.com/security/notices/USN-7007-2
- https://ubuntu.com/security/notices/USN-7007-3
- https://ubuntu.com/security/notices/USN-7008-1
- https://ubuntu.com/security/notices/USN-7009-1
- https://ubuntu.com/security/notices/USN-7009-2
- https://ubuntu.com/security/notices/USN-7019-1
- https://ubuntu.com/security/notices/USN-7029-1
- https://ubuntu.com/security/notices/USN-7183-1
- https://ubuntu.com/security/notices/USN-7184-1
- https://ubuntu.com/security/notices/USN-7185-1
- https://ubuntu.com/security/notices/USN-7185-2
- https://www.cve.org/CVERecord?id=CVE-2024-39301