UBUNTU-CVE-2024-39487
In the Linux kernel, the following vulnerability has been resolved: bonding: Fix out-of-bounds read in bond_option_arp_ip_targets_set() In function bond_option_arp_ip_targets_set(), if newval->string is an empty string, newval->string+1 will point to the byte after the string, causing an out-of-bound read. BUG: KASAN: slab-out-of-bounds in strlen+0x7d/0xa0 lib/string.c:418 Read of size 1 at addr ffff8881119c4781 by task syz-executor665/8107 CPU: 1 PID: 8107 Comm: syz-executor665 Not tainted 6.7.0-rc7 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd9/0x150 lib/dump_stack.c:106 print_address_description mm/kasan/report.c:364 [inline] print_report+0xc1/0x5e0 mm/kasan/report.c:475 kasan_report+0xbe/0xf0 mm/kasan/report.c:588 strlen+0x7d/0xa0 lib/string.c:418 __fortify_strlen include/linux/fortify-string.h:210 [inline] in4_pton+0xa3/0x3f0 net/core/utils.c:130 bond_option_arp_ip_targets_set+0xc2/0x910 drivers/net/bonding/bond_options.c:1201 __bond_opt_set+0x2a4/0x1030 drivers/net/bonding/bond_options.c:767 __bond_opt_set_notify+0x48/0x150 drivers/net/bonding/bond_options.c:792 bond_opt_tryset_rtnl+0xda/0x160 drivers/net/bonding/bond_options.c:817 bonding_sysfs_store_option+0xa1/0x120 drivers/net/bonding/bond_sysfs.c:156 dev_attr_store+0x54/0x80 drivers/base/core.c:2366 sysfs_kf_write+0x114/0x170 fs/sysfs/file.c:136 kernfs_fop_write_iter+0x337/0x500 fs/kernfs/file.c:334 call_write_iter include/linux/fs.h:2020 [inline] new_sync_write fs/read_write.c:491 [inline] vfs_write+0x96a/0xd80 fs/read_write.c:584 ksys_write+0x122/0x250 fs/read_write.c:637 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x40/0x110 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b ---[ end trace ]--- Fix it by adding a check of string length before using it.
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
12 explicit affected versions
44 explicit affected versions
65 explicit affected versions
54 explicit affected versions
44 explicit affected versions
10 explicit affected versions
6 explicit affected versions
12 explicit affected versions
51 explicit affected versions
191 explicit affected versions
7 explicit affected versions
50 explicit affected versions
7 explicit affected versions
92 explicit affected versions
13 explicit affected versions
65 explicit affected versions
9 explicit affected versions
35 explicit affected versions
11 explicit affected versions
16 explicit affected versions
18 explicit affected versions
12 explicit affected versions
96 explicit affected versions
37 explicit affected versions
12 explicit affected versions
94 explicit affected versions
13 explicit affected versions
4 explicit affected versions
23 explicit affected versions
101 explicit affected versions
16 explicit affected versions
1 explicit affected versions
21 explicit affected versions
16 explicit affected versions
10 explicit affected versions
49 explicit affected versions
14 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
82 explicit affected versions
12 explicit affected versions
97 explicit affected versions
105 explicit affected versions
12 explicit affected versions
7 explicit affected versions
93 explicit affected versions
11 explicit affected versions
7 explicit affected versions
1 explicit affected versions
10 explicit affected versions
167 explicit affected versions
37 explicit affected versions
100 explicit affected versions
13 explicit affected versions
5 explicit affected versions
10 explicit affected versions
31 explicit affected versions
1 explicit affected versions
34 explicit affected versions
26 explicit affected versions
13 explicit affected versions
6 explicit affected versions
1 explicit affected versions
29 explicit affected versions
85 explicit affected versions
13 explicit affected versions
55 explicit affected versions
6 explicit affected versions
7 explicit affected versions
1 explicit affected versions
80 explicit affected versions
53 explicit affected versions
97 explicit affected versions
15 explicit affected versions
33 explicit affected versions
23 explicit affected versions
10 explicit affected versions
1 explicit affected versions
94 explicit affected versions
11 explicit affected versions
12 explicit affected versions
117 explicit affected versions
7 explicit affected versions
12 explicit affected versions
95 explicit affected versions
2 explicit affected versions
42 explicit affected versions
36 explicit affected versions
110 explicit affected versions
52 explicit affected versions
130 explicit affected versions
10 explicit affected versions
26 explicit affected versions
14 explicit affected versions
31 explicit affected versions
1 explicit affected versions
5 explicit affected versions
15 explicit affected versions
13 explicit affected versions
14 explicit affected versions
117 explicit affected versions
55 explicit affected versions
16 explicit affected versions
55 explicit affected versions
15 explicit affected versions
43 explicit affected versions
3 explicit affected versions
71 explicit affected versions
1 explicit affected versions
2 explicit affected versions
62 explicit affected versions
51 explicit affected versions
70 explicit affected versions
12 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
74 explicit affected versions
8 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
11 explicit affected versions
13 explicit affected versions
84 explicit affected versions
13 explicit affected versions
49 explicit affected versions
7 explicit affected versions
72 explicit affected versions
46 explicit affected versions
10 explicit affected versions
13 explicit affected versions
12 explicit affected versions
84 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
15 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
144 explicit affected versions
6 explicit affected versions
1 explicit affected versions
52 explicit affected versions
7 explicit affected versions
25 explicit affected versions
77 explicit affected versions
56 explicit affected versions
121 explicit affected versions
100 explicit affected versions
4 explicit affected versions
1 explicit affected versions
1 explicit affected versions
50 explicit affected versions
93 explicit affected versions
13 explicit affected versions
43 explicit affected versions
50 explicit affected versions
124 explicit affected versions
144 explicit affected versions
10 explicit affected versions
8 explicit affected versions
10 explicit affected versions
14 explicit affected versions
85 explicit affected versions
4 explicit affected versions
74 explicit affected versions
11 explicit affected versions
1 explicit affected versions
47 explicit affected versions
8 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
In the Linux kernel, the following vulnerability has been resolved: bonding: Fix out-of-bounds read in bond_option_arp_ip_targets_set() In function bond_option_arp_ip_targets_set(), if newval->string is an empty string, newval->string+1 will point to the byte after the string, causing an out-of-bound read. BUG: KASAN: slab-out-of-bounds in strlen+0x7d/0xa0 lib/string.c:418 Read of size 1 at addr ffff8881119c4781 by task syz-executor665/8107 CPU: 1 PID: 8107 Comm: syz-executor665 Not tainted 6.7.0-rc7 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd9/0x150 lib/dump_stack.c:106 print_address_description mm/kasan/report.c:364 [inline] print_report+0xc1/0x5e0 mm/kasan/report.c:475 kasan_report+0xbe/0xf0 mm/kasan/report.c:588 strlen+0x7d/0xa0 lib/string.c:418 __fortify_strlen include/linux/fortify-string.h:210 [inline] in4_pton+0xa3/0x3f0 net/core/utils.c:130 bond_option_arp_ip_targets_set+0xc2/0x910 drivers/net/bonding/bond_options.c:1201 __bond_opt_set+0x2a4/0x1030 drivers/net/bonding/bond_options.c:767 __bond_opt_set_notify+0x48/0x150 drivers/net/bonding/bond_options.c:792 bond_opt_tryset_rtnl+0xda/0x160 drivers/net/bonding/bond_options.c:817 bonding_sysfs_store_option+0xa1/0x120 drivers/net/bonding/bond_sysfs.c:156 dev_attr_store+0x54/0x80 drivers/base/core.c:2366 sysfs_kf_write+0x114/0x170 fs/sysfs/file.c:136 kernfs_fop_write_iter+0x337/0x500 fs/kernfs/file.c:334 call_write_iter include/linux/fs.h:2020 [inline] new_sync_write fs/read_write.c:491 [inline] vfs_write+0x96a/0xd80 fs/read_write.c:584 ksys_write+0x122/0x250 fs/read_write.c:637 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x40/0x110 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b ---[ end trace ]--- Fix it by adding a check of string length before using it.
05 / REFERENCES
Further evidence
- https://git.kernel.org/linus/e271ff53807e8f2c628758290f0e499dbe51cb3d
- https://git.kernel.org/stable/c/e271ff53807e8f2c628758290f0e499dbe51cb3d
- https://ubuntu.com/security/CVE-2024-39487
- https://ubuntu.com/security/notices/USN-7003-1
- https://ubuntu.com/security/notices/USN-7003-2
- https://ubuntu.com/security/notices/USN-7003-3
- https://ubuntu.com/security/notices/USN-7003-4
- https://ubuntu.com/security/notices/USN-7003-5
- https://ubuntu.com/security/notices/USN-7006-1
- 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-7009-1
- https://ubuntu.com/security/notices/USN-7009-2
- https://ubuntu.com/security/notices/USN-7019-1
- https://ubuntu.com/security/notices/USN-7069-1
- https://ubuntu.com/security/notices/USN-7069-2
- https://ubuntu.com/security/notices/USN-7089-1
- https://ubuntu.com/security/notices/USN-7089-2
- https://ubuntu.com/security/notices/USN-7089-3
- https://ubuntu.com/security/notices/USN-7089-4
- https://ubuntu.com/security/notices/USN-7089-5
- https://ubuntu.com/security/notices/USN-7089-6
- https://ubuntu.com/security/notices/USN-7089-7
- https://ubuntu.com/security/notices/USN-7090-1
- https://ubuntu.com/security/notices/USN-7095-1
- https://ubuntu.com/security/notices/USN-7110-1
- https://ubuntu.com/security/notices/USN-7156-1
- https://www.cve.org/CVERecord?id=CVE-2024-39487