Amazon Linux 2023:bpftool、kernel、kernel-devel (ALAS2023-2024-549)

high Nessus Plugin ID 191609

概要

遠端 Amazon Linux 2023 主機缺少一個安全性更新。

說明

因此,會受到 ALAS2023-2024-549 公告中所提及的多個弱點影響。

2024-07-03:已將 CVE-2024-26629 新增至此公告。

2024-07-03:已將 CVE-2024-0841 新增至此公告。

2024-07-03:已將 CVE-2023-52616 新增至此公告。

2024-05-23:已將 CVE-2024-26665 新增至此公告。

2024-04-25:已將 CVE-2024-26601 新增至此公告。

2024-04-25:已將 CVE-2024-26602 新增至此公告。

2024-04-10:已將 CVE-2024-26603 新增至此公告。

2024-03-27:已將 CVE-2024-2193 新增至此公告。

2024-03-27:已將 CVE-2024-26581 新增至此公告。

在 6.7.4 及之前的 Linux 核心中,drivers/md/dm-table.c 中的 dm_table_create 會嘗試 (在 alloc_targets 中) 分配大於 INT_MAX 的位元組,但此位元組會因缺少對 dm_ioctl.target_count 結構的檢查而損毀。(CVE-2023-52429)

在 Linux 核心的 smb 用戶端中發現一個缺陷。在 smb2_parse_contexts() 函式中發現潛在的超出邊界錯誤。smb2_parse_contexts() 中解除參照建立內容前會驗證位移和長度。(CVE-2023-52434)

在 Linux 核心中,下列弱點已解決:

net:防止 skb_segment() 中的 mss 溢位

syzbot 再次能夠使 skb_segment() 中的核心損毀 [1]

GSO_BY_FRAGS 是一個禁止值,但遺憾的是 skb_segment() 中的下列運算可輕易取得此值:

mss = mss *partial_segs;

65535 = 3 * 5 * 17 * 257,許多 mss 初始值可導致錯誤的最終結果。

請務必限制分割,使新的 mss 值小於 GSO_BY_FRAGS。

[1]

[1] 一般保護錯誤,可能是非正式位址 0xdffffc000000000e: 0000 [#1] PREEMPT SMP KASANKASAN: null-ptr-deref in range [0x0000000000000070-0x0000000000000077]CPU: 1 PID: 5079 Comm: syz-executor993 Not tainted 6.7.0-rc4-syzkaller-00141-g1ae4cd3cbdd0 #0Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/10/2023RIP: 0010:skb_segment+0x181d/0x3f30 net/core/skbuff.c:4551Code: 83 e3 02 e9 fb ed ff ff e8 90 68 1c f9 48 8b 84 24 f8 00 00 00 48 8d 78 70 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e 8a 21 00 00 48 8b 84 24 f8 00RSP: 0018:ffffc900043473d0 EFLAGS: 00010202RAX: dffffc0000000000 RBX: 0000000000010046 RCX:
ffffffff886b1597RDX: 000000000000000e RSI: ffffffff886b2520 RDI: 0000000000000070RBP: ffffc90004347578 R08: 0000000000000005 R09: 000000000000ffffR10: 000000000000ffff R11: 0000000000000002 R12:
ffff888063202ac0R13: 0000000000010000 R14: 000000000000ffff R15: 0000000000000046FS:
0000555556e7e380(0000) GS:ffff8880b9900000(0000) knlGS:0000000000000000CS: 0010 DS: 0000 ES: 0000 CR0:
0000000080050033CR2: 0000000020010000 CR3: 0000000027ee2000 CR4: 00000000003506f0DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7:
0000000000000400Call Trace:<TASK>udp6_ufo_fragment+0xa0e/0xd00 net/ipv6/udp_offload.c:109ipv6_gso_segment+0x534/0x17e0 net/ipv6/ip6_offload.c:120skb_mac_gso_segment+0x290/0x610 net/core/gso.c:53__skb_gso_segment+0x339/0x710 net/core/gso.c:124skb_gso_segment include/net/gso.h:83 [inline]validate_xmit_skb+0x36c/0xeb0 net/core/dev.c:3626__dev_queue_xmit+0x6f3/0x3d60 net/core/dev.c:4338dev_queue_xmit include/linux/netdevice.h:3134 [inline]packet_xmit+0x257/0x380 net/packet/af_packet.c:276packet_snd net/packet/af_packet.c:3087 [inline]packet_sendmsg+0x24c6/0x5220 net/packet/af_packet.c:3119sock_sendmsg_nosec net/socket.c:730 [inline]__sock_sendmsg+0xd5/0x180 net/socket.c:745__sys_sendto+0x255/0x340 net/socket.c:2190__do_sys_sendto net/socket.c:2202 [inline]__se_sys_sendto net/socket.c:2198 [inline]__x64_sys_sendto+0xe0/0x1b0 net/socket.c:2198do_syscall_x64 arch/x86/entry/common.c:52 [inline]do_syscall_64+0x40/0x110 arch/x86/entry/common.c:83entry_SYSCALL_64_after_hwframe+0x63/0x6bRIP: 0033:0x7f8692032aa9Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 d1 19 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48RSP: 002b:00007fff8d685418 EFLAGS: 00000246 ORIG_RAX: 000000000000002cRAX: ffffffffffffffda RBX: 0000000000000003 RCX:
00007f8692032aa9RDX: 0000000000010048 RSI: 00000000200000c0 RDI: 0000000000000003RBP: 00000000000f4240 R08: 0000000020000540 R09: 0000000000000014R10: 0000000000000000 R11: 0000000000000246 R12:
00007fff8d685480R13: 0000000000000001 R14: 00007fff8d685480 R15: 0000000000000003</TASK>Modules linked in:---[ end trace 0000000000000000 ]---RIP: 0010:skb_segment+0x181d/0x3f30 net/core/skbuff.c:4551Code: 83 e3 02 e9 fb ed ff ff e8 90 68 1c f9 48 8b 84 24 f8 00 00 00 48 8d 78 70 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e 8a 21 00 00 48 8b 84 24 f8 00RSP:
0018:ffffc900043473d0 EFLAGS: 00010202RAX: dffffc0000000000 RBX: 0000000000010046 RCX:
ffffffff886b1597RDX: 000000000000000e RSI: ffffffff886b2520 RDI: 0000000000000070RBP: ffffc90004347578 R0
---truncated--- (CVE-2023-52435)

在 Linux 核心中,下列弱點已解決:

crypto:lib/mpi - 修正 mpi_ec_init 中的意外指標存取 (CVE-2023-52616)

在 Linux 核心中,在 drivers/vhost/vhost.c 的 vhost_new_msg 中發現一個弱點,其不會正確初始化 vhost/vhost.c:vhost_new_msg() 函數中虛擬來賓和主機作業系統之間傳遞的訊息中的記憶體。這問題可允許有權限的本機使用者從 /dev/vhost-net 裝置檔案執行讀取作業時,讀取到一些核心記憶體內容。(CVE-2024-0340)

在 Linux 核心 hugetlbfs 功能的 hugetlbfs_fill_super 函式中發現一個 NULL 指標解除參照缺陷。本機使用者可利用此問題使系統當機,或可能提升其在系統中的權限。(CVE-2024-0841)

報告稱,Linux 核心的 Open vSwitch 子元件中存在弱點。當程式碼推送的遞回作業以遞回方式呼叫至程式碼區塊中時,會發生此缺陷。OVS 模組未驗證堆疊深度,進而推送過多框架並造成堆疊溢位。因此,這可導致當機或其他相關問題。(CVE-2024-1151)

已披露推測性爭用條件 (SRC) 弱點,此弱點會影響支援推測型執行的現代 CPU 架構 (與 Spectre V1 相關)。未經驗證的攻擊者可惡意利用此弱點,使用爭用情形從 CPU 洩漏任意資料,以存取推測的可執行程式碼路徑。(CVE-2024-2193)

在 Linux 核心 6.7.1 及之前版本中,fs/btrfs/disk-io.c 中的 btrfs_get_root_ref 可能會發生宣告失敗及損毀,這是因為在建立子磁碟區時,插入 root 項目後過快讀取子磁碟區。(CVE-2024-23850)

- 在 Linux 核心 6.7.1 及之前版本中,drivers/md/dm-ioctl.c 中的 copy_params 可嘗試配置超過 INT_MAX 位元組並造成損毀,這是缺少 param_kernel->data_size 檢查所致。此問題與 ctl_ioctl 有關。(CVE-2024-23851)

在 Linux 核心中,下列弱點已解決:

netfilter:nft_set_rbtree:從 gc 跳過結束間隔元素

插入時的 rbtree lazy gc 可能會收集剛剛在此交易中新增的結束間隔元素,並跳過尚未作用中的結束間隔元素。(CVE-2024-26581)

在 Linux 核心中,下列弱點已解決:

net:tls:修正部分讀取和非同步解密導致的釋放後使用弱點

tls_decrypt_sg 不會從 clear_skb 頁面取得參照,因此 tls_decrypt_done 中的 put_page() 會釋出它們,並且我們嘗試從部分讀取的 skb 讀取時,會在 process_rx_list 中觸發釋放後使用。(CVE-2024-26582)

在 Linux 核心中,下列弱點已解決:

tls:修復非同步通知和通訊端關閉之間的爭用條件

提交執行緒 (稱為 recvmsg/sendmsg) 可能會在非同步 crypto 處置程式呼叫 complete() 後立即退出,因此任何超過該點的程式碼會存在接觸已釋放資料的風險。

儘量避免鎖定與額外的旗標。讓主執行緒保留一個額外的參照,如此我們可以完全依賴原子參照計數器進行同步。

也不要求重新初始化完成,我們現在會嚴格控制完成觸發的時間。
(CVE-2024-26583)

在 Linux 核心中,下列弱點已解決:

ext4:如果在 fc 重播之下,區塊釋放失敗後會重新產生 buddy

這基本還原了認可 6bd97bf273bd (ext4:移除多餘的 mb_regenerate_buddy()) 並重新引入 mb_regenerate_buddy()。根據 mb_free_blocks() 中的程式碼,快速 commit 重播最終會導致區塊被重複標記為已释放。這會造成 buddy 點陣圖損毀,因此我們需要在這種情況下重新產生點陣圖。(CVE-2024-26601)

在 Linux 核心中,下列弱點已解決:

sched/membarrier:減少對 sys_membarrier 的頻繁呼叫

在某些系統上,sys_membarrier 的成本可能會非常高,可造成所有項目的整體速度降低。因此,鎖定路徑可將存取序列化,從而防止以過高頻率呼叫此功能以及電腦超負荷執行。(CVE-2024-26602)

在 Linux 核心中,下列弱點已解決:

x86/fpu:停止依賴使用者空間以防止 xsave 緩衝區中的資訊錯誤

在此變更之前,預期的使用者空間緩衝區大小取自 fx_sw->xstate_size。
使用者可從使用者空間變更 fx_sw->xstate_size,因此可建構 sigreturn 幀,其中:

* fx_sw->xstate_size 小於 fx_sw->xfeatures 中有效位元所需的大小。* 使用者空間會取消對應部分 sigrame fpu 緩衝區,因此無法存取 xrstor 所需的所有緩衝區。

在此情況下,xrstor 會嘗試還原並存取未對應的區域,進而造成錯誤。但由於 buf + fx_sw->xstate_size 位於靜止的對應區域內,fault_in_readable 即會成功,因此會返回並再次嘗試 xrstor。它將在此迴圈中無限旋轉。

相反,錯誤在於 XRSTOR 可接觸的最大大小 (取自 fpstate->user_size)。

[ dhansen:tweak subject / changelog ] (CVE-2024-26603)

在 Linux 核心中,下列弱點已解決:

nfsd:修正 RELEASE_LOCKOWNER (CVE-2024-26629)

在 Linux 核心中,下列弱點已解決:

tunnels:修復構建 IPv6 PMTU 錯誤時的超出邊界存取問題 (CVE-2024-26665)

Tenable 已直接從所測試產品的安全公告擷取前置描述區塊。

請注意,Nessus 並未測試這些問題,而是僅依據應用程式自我報告的版本號碼作出判斷。

解決方案

執行「dnf update kernel --releasever 2023.3.20240304」以更新系統。

另請參閱

https://alas.aws.amazon.com/AL2023/ALAS-2024-549.html

https://alas.aws.amazon.com/faqs.html

https://alas.aws.amazon.com/cve/html/CVE-2023-52429.html

https://alas.aws.amazon.com/cve/html/CVE-2023-52434.html

https://alas.aws.amazon.com/cve/html/CVE-2023-52435.html

https://alas.aws.amazon.com/cve/html/CVE-2023-52616.html

https://alas.aws.amazon.com/cve/html/CVE-2024-0340.html

https://alas.aws.amazon.com/cve/html/CVE-2024-0841.html

https://alas.aws.amazon.com/cve/html/CVE-2024-1151.html

https://alas.aws.amazon.com/cve/html/CVE-2024-2193.html

https://alas.aws.amazon.com/cve/html/CVE-2024-23850.html

https://alas.aws.amazon.com/cve/html/CVE-2024-23851.html

https://alas.aws.amazon.com/cve/html/CVE-2024-26581.html

https://alas.aws.amazon.com/cve/html/CVE-2024-26582.html

https://alas.aws.amazon.com/cve/html/CVE-2024-26583.html

https://alas.aws.amazon.com/cve/html/CVE-2024-26601.html

https://alas.aws.amazon.com/cve/html/CVE-2024-26602.html

https://alas.aws.amazon.com/cve/html/CVE-2024-26603.html

https://alas.aws.amazon.com/cve/html/CVE-2024-26629.html

https://alas.aws.amazon.com/cve/html/CVE-2024-26665.html

Plugin 詳細資訊

嚴重性: High

ID: 191609

檔案名稱: al2023_ALAS2023-2024-549.nasl

版本: 1.11

類型: local

代理程式: unix

已發布: 2024/3/6

已更新: 2024/7/5

支援的感應器: Agentless Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Nessus

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: High

基本分數: 7.7

時間分數: 6

媒介: CVSS2#AV:A/AC:L/Au:S/C:C/I:C/A:C

CVSS 評分資料來源: CVE-2023-52434

CVSS v3

風險因素: High

基本分數: 8

時間分數: 7.2

媒介: CVSS:3.0/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

時間媒介: CVSS:3.0/E:P/RL:O/RC:C

弱點資訊

CPE: p-cpe:/a:amazon:linux:kernel-modules-extra-common, p-cpe:/a:amazon:linux:perf-debuginfo, p-cpe:/a:amazon:linux:kernel-modules-extra, p-cpe:/a:amazon:linux:kernel-debuginfo-common-aarch64, p-cpe:/a:amazon:linux:kernel-tools, p-cpe:/a:amazon:linux:kernel-livepatch-6.1.79-99.164, p-cpe:/a:amazon:linux:python3-perf, p-cpe:/a:amazon:linux:kernel-libbpf-static, p-cpe:/a:amazon:linux:kernel-debuginfo, p-cpe:/a:amazon:linux:kernel-libbpf, p-cpe:/a:amazon:linux:bpftool-debuginfo, p-cpe:/a:amazon:linux:kernel-libbpf-devel, p-cpe:/a:amazon:linux:kernel-headers, p-cpe:/a:amazon:linux:kernel-tools-devel, cpe:/o:amazon:linux:2023, p-cpe:/a:amazon:linux:perf, p-cpe:/a:amazon:linux:bpftool, p-cpe:/a:amazon:linux:kernel-tools-debuginfo, p-cpe:/a:amazon:linux:kernel-devel, p-cpe:/a:amazon:linux:kernel, p-cpe:/a:amazon:linux:python3-perf-debuginfo, p-cpe:/a:amazon:linux:kernel-debuginfo-common-x86_64

必要的 KB 項目: Host/AmazonLinux/rpm-list, Host/local_checks_enabled, Host/AmazonLinux/release

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2024/2/29

弱點發布日期: 2024/1/9

參考資訊

CVE: CVE-2023-52429, CVE-2023-52434, CVE-2023-52435, CVE-2023-52616, CVE-2024-0340, CVE-2024-0841, CVE-2024-1151, CVE-2024-2193, CVE-2024-23850, CVE-2024-23851, CVE-2024-26581, CVE-2024-26582, CVE-2024-26583, CVE-2024-26601, CVE-2024-26602, CVE-2024-26603, CVE-2024-26629, CVE-2024-26665