UBUNTU-CVE-2024-45001
In the Linux kernel, the following vulnerability has been resolved: net: mana: Fix RX buf alloc_size alignment and atomic op panic The MANA driver's RX buffer alloc_size is passed into napi_build_skb() to create SKB. skb_shinfo(skb) is located at the end of skb, and its alignment is affected by the alloc_size passed into napi_build_skb(). The size needs to be aligned properly for better performance and atomic operations. Otherwise, on ARM64 CPU, for certain MTU settings like 4000, atomic operations may panic on the skb_shinfo(skb)->dataref due to alignment fault. To fix this bug, add proper alignment to the alloc_size calculation. Sample panic info: [ 253.298819] Unable to handle kernel paging request at virtual address ffff000129ba5cce [ 253.300900] Mem abort info: [ 253.301760] ESR = 0x0000000096000021 [ 253.302825] EC = 0x25: DABT (current EL), IL = 32 bits [ 253.304268] SET = 0, FnV = 0 [ 253.305172] EA = 0, S1PTW = 0 [ 253.306103] FSC = 0x21: alignment fault Call trace: __skb_clone+0xfc/0x198 skb_clone+0x78/0xe0 raw6_local_deliver+0xfc/0x228 ip6_protocol_deliver_rcu+0x80/0x500 ip6_input_finish+0x48/0x80 ip6_input+0x48/0xc0 ip6_sublist_rcv_finish+0x50/0x78 ip6_sublist_rcv+0x1cc/0x2b8 ipv6_list_rcv+0x100/0x150 __netif_receive_skb_list_core+0x180/0x220 netif_receive_skb_list_internal+0x198/0x2a8 __napi_poll+0x138/0x250 net_rx_action+0x148/0x330 handle_softirqs+0x12c/0x3a0
02 / AFFECTED SOFTWARE
Affected packages
11 explicit affected versions
50 explicit affected versions
6 explicit affected versions
10 explicit affected versions
9 explicit affected versions
51 explicit affected versions
14 explicit affected versions
4 explicit affected versions
13 explicit affected versions
4 explicit affected versions
11 explicit affected versions
9 explicit affected versions
10 explicit affected versions
7 explicit affected versions
10 explicit affected versions
10 explicit affected versions
26 explicit affected versions
11 explicit affected versions
7 explicit affected versions
7 explicit affected versions
12 explicit affected versions
19 explicit affected versions
6 explicit affected versions
14 explicit affected versions
56 explicit affected versions
8 explicit affected versions
14 explicit affected versions
7 explicit affected versions
9 explicit affected versions
13 explicit affected versions
35 explicit affected versions
18 explicit affected versions
14 explicit affected versions
64 explicit affected versions
14 explicit affected versions
13 explicit affected versions
4 explicit affected versions
23 explicit affected versions
18 explicit affected versions
21 explicit affected versions
16 explicit affected versions
16 explicit affected versions
7 explicit affected versions
12 explicit affected versions
12 explicit affected versions
14 explicit affected versions
1 explicit affected versions
7 explicit affected versions
12 explicit affected versions
12 explicit affected versions
8 explicit affected versions
9 explicit affected versions
7 explicit affected versions
1 explicit affected versions
37 explicit affected versions
13 explicit affected versions
26 explicit affected versions
13 explicit affected versions
29 explicit affected versions
13 explicit affected versions
6 explicit affected versions
33 explicit affected versions
23 explicit affected versions
10 explicit affected versions
1 explicit affected versions
10 explicit affected versions
11 explicit affected versions
12 explicit affected versions
7 explicit affected versions
12 explicit affected versions
26 explicit affected versions
13 explicit affected versions
1 explicit affected versions
7 explicit affected versions
17 explicit affected versions
13 explicit affected versions
16 explicit affected versions
16 explicit affected versions
17 explicit affected versions
3 explicit affected versions
12 explicit affected versions
27 explicit affected versions
8 explicit affected versions
8 explicit affected versions
5 explicit affected versions
10 explicit affected versions
13 explicit affected versions
13 explicit affected versions
13 explicit affected versions
7 explicit affected versions
48 explicit affected versions
12 explicit affected versions
44 explicit affected versions
16 explicit affected versions
3 explicit affected versions
13 explicit affected versions
37 explicit affected versions
17 explicit affected versions
14 explicit affected versions
38 explicit affected versions
9 explicit affected versions
8 explicit affected versions
43 explicit affected versions
10 explicit affected versions
8 explicit affected versions
12 explicit affected versions
14 explicit affected versions
1 explicit affected versions
10 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
In the Linux kernel, the following vulnerability has been resolved: net: mana: Fix RX buf alloc_size alignment and atomic op panic The MANA driver's RX buffer alloc_size is passed into napi_build_skb() to create SKB. skb_shinfo(skb) is located at the end of skb, and its alignment is affected by the alloc_size passed into napi_build_skb(). The size needs to be aligned properly for better performance and atomic operations. Otherwise, on ARM64 CPU, for certain MTU settings like 4000, atomic operations may panic on the skb_shinfo(skb)->dataref due to alignment fault. To fix this bug, add proper alignment to the alloc_size calculation. Sample panic info: [ 253.298819] Unable to handle kernel paging request at virtual address ffff000129ba5cce [ 253.300900] Mem abort info: [ 253.301760] ESR = 0x0000000096000021 [ 253.302825] EC = 0x25: DABT (current EL), IL = 32 bits [ 253.304268] SET = 0, FnV = 0 [ 253.305172] EA = 0, S1PTW = 0 [ 253.306103] FSC = 0x21: alignment fault Call trace: __skb_clone+0xfc/0x198 skb_clone+0x78/0xe0 raw6_local_deliver+0xfc/0x228 ip6_protocol_deliver_rcu+0x80/0x500 ip6_input_finish+0x48/0x80 ip6_input+0x48/0xc0 ip6_sublist_rcv_finish+0x50/0x78 ip6_sublist_rcv+0x1cc/0x2b8 ipv6_list_rcv+0x100/0x150 __netif_receive_skb_list_core+0x180/0x220 netif_receive_skb_list_internal+0x198/0x2a8 __napi_poll+0x138/0x250 net_rx_action+0x148/0x330 handle_softirqs+0x12c/0x3a0
05 / REFERENCES
Further evidence
- https://git.kernel.org/linus/32316f676b4ee87c0404d333d248ccf777f739bc
- https://git.kernel.org/stable/c/32316f676b4ee87c0404d333d248ccf777f739bc
- https://git.kernel.org/stable/c/65f20b174ec0172f2d6bcfd8533ab9c9e7e347fa
- https://git.kernel.org/stable/c/e6bea6a45f8a401f3d5a430bc81814f0cc8848cf
- https://ubuntu.com/security/CVE-2024-45001
- https://ubuntu.com/security/notices/USN-7074-1
- https://ubuntu.com/security/notices/USN-7076-1
- https://ubuntu.com/security/notices/USN-7076-2
- https://ubuntu.com/security/notices/USN-7090-1
- https://ubuntu.com/security/notices/USN-7095-1
- https://ubuntu.com/security/notices/USN-7154-1
- https://ubuntu.com/security/notices/USN-7154-2
- https://ubuntu.com/security/notices/USN-7156-1
- https://www.cve.org/CVERecord?id=CVE-2024-45001