Amazon Linux 2:kernel (ALASKERNEL-5.15-2024-036)

high Nessus Plugin ID 190021

概要

遠端 Amazon Linux 2 主機缺少安全性更新。

說明

遠端主機上安裝的核心版本早於 5.15.148-97.158。因此,會受到 ALAS2KERNEL-5.15-2024-036 公告中所提及的多個弱點影響。

- Xen 虛擬網路通訊協定中的傳輸要求可由多個部分組成。雖然這些部分不是真的實用,但除了初始部分,其中任何一個都可能是零長度,即根本不攜帶任何資料。除了要傳輸資料的特定初始部分,這些部分會直接轉譯為 Linux 所稱的 SKB 片段。這類轉換的要求部分在針對特定 SKB 而言長度為零時,可導致核心網路程式碼中出現 NULL 解除參照。(CVE-2023-46838)

- 在 Linux 核心中,下列弱點已修正:uio:修正 uio_open core-1 core-2 中的釋放後使用 ------------------------------------------------------- uio_unregister_device uio_open idev = idr_find() device_unregister(&idev->dev) put_device(&idev->dev) uio_device_release get_device(&idev->dev) kfree(idev) uio_free_minor(minor) uio_release put_device(&idev->dev) kfree(idev)
-------------------------------------------------- ----- 在 core-1 uio_unregister_device() 中,若 idev->dev kobject ref 為 1,device_unregister 將 kfree idev。但在執行 core-1 device_unregister、put_device 與 kfree 之間,core-2 可能會 get_device。然後:1. 在 core-1 kfree idev 之後,core-2 將會為 idev 執行釋放後使用。2. core-2 執行 uio_release 和 put_device 後,idev 將被雙重釋放。若要解決此問題,我們可以透過 minor_lock 取得 idev atomic 和 inc idev 參照。
(CVE-2023-52439)

- 在 Linux 核心中,下列弱點已修復:bpf:修復對嘗試損壞溢位指標的檢查 當暫存器作為 1/2/4 位元組暫存器在堆疊上發生溢位時,我們會設定 slot_type[BPF_REG_SIZE - 1] (以及其下方可能發生更多少量溢位,視實際溢位大小而定)。因此,若要檢查某個堆疊插槽是否發生了暫存器溢位,我們需要查閱 slot_type[7],而非 slot_type[0]。為避免以後需要記住和仔細檢查此項,只需使用 is_spilled_reg() 協助程式即可。
(CVE-2023-52462)

- 在 Linux 核心中,下列弱點已修復:efivarfs:如果不支援 SetVariable,在重新掛載時會強制執行 RO 若韌體不支援執行階段的 SetVariable,我們絕不會為該函式指派回呼。同時將 efivarfs 掛載為 RO,讓任何人都無法呼叫。但是,我們從不會檢查權限旗標,除非有人將檔案系統掛載為 RW。因此,這會導致當機,如下所示:$ mount -o remount,rw /sys/firmware/efi/efivars $ efi-updatevar -f PK.auth PK [303.279166] 無法處理虛擬位址 0000000000000000 的 NULL 指標解除參照 [303.280482] 記憶體中止資訊:[ 303.280854] ESR = 0x0000000086000004 [ 303.281338] EC = 0x21:IABT (当前 EL),IL = 32 位 [ 303.282016] SET = 0,FnV = 0 [ 303.282414] EA = 0,S1PTW = 0 [ 303.282821] FSC = 0x04:
0 級轉譯錯誤 [303.283771 ] 使用者 pgtable:4k 頁面,48 位元 VA,pgdp=000000004258c000 [303.284913] [0000000000000000] pgd=0000000000000000、p4d=0000000000000000 [ 303.286076] 內部錯誤:
Oops:0000000086000004 [#1] PREEMPT SMP [ 303.286936] 模組連結位置:qrtr tpm_tis tpm_tis_core crct10dif_ce arm_smccc_trng rng_core drm fuse ip_tables x_tables ipv6 [ 303.288586] CPU:1 PID:755 命令:
efi-updatevar 未污染 6.3.0-rc1-00108-gc7d0c4695c68 #1 [ 303.289748] 硬體名稱:未知 未知產品/未知產品,BIOS 2023.04-00627-g88336918701d 04/01/2023 [ 303.291150] pstate:60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 303.292123] pc:0x0 [ 303.292443] lr:
efivar_set_variable_locked+0x74/0xec [ 303.293156] sp:ffff800008673c10 [ 303.293619] x29:
ffff800008673c10 x28:ffff0000037e8000 x27:0000000000000000 [ 303.294592] x26:0000000000000800 x25:
ffff000002467400 x24:0000000000000027 [ 303.295572] x23:ffffd49ea9832000 x22:ffff0000020c9800 x21:
ffff000002467000 [ 303.296566] x20:0000000000000001 x19:00000000000007fc x18:0000000000000000 [303.297531] x17:0000000000000000 x16:0000000000000000 x15:0000aaaac807ab54 [ 303.298495] x14:
ed37489f673633c0 x13:71c45c606de13f80 x12:47464259e219acf4 [ 303.299453] x11:ffff000002af7b01 x10:
0000000000000003 x9:0000000000000002 [ 303.300431] x8:0000000000000010 x7:ffffd49ea8973230 x6:
0000000000a85201 [ 303.301412] x5:0000000000000000 x4:ffff0000020c9800 x3:00000000000007fc [303.302370] x2:0000000000000027 x1:ffff000002467400 x0:ffff000002467000 [ 303.303341] 呼叫追蹤:[303.303679] 0x0 [ 303.303938] efivar_entry_set_get_size+0x98/0x16c [ 303.304585] efivarfs_file_write+0xd0/0x1a4 [ 303.305148] vfs_write+0xc4/0x2e4 [ 303.305601] ksys_write+0x70/0x104 [303.306073] __arm64_sys_write+0x1c/0x28 [ 303.306622] invoke_syscall+0x48/0x114 [ 303.307156] el0_svc_common.constprop.0+0x44/0xec [ 303.307803] do_el0_svc+0x38/0x98 [ 303.308268] el0_svc+0x2c/0x84 [303.308702] el0t_64_sync_handler+0xf4/0x120 [ 303.309293] el0t_64_sync+0x190/0x194 [ 303.309794] 程式碼:
???????? ???????? ???????? ???????? (????????) [ 303.310612] ---[結束追蹤 0000000000000000]--- 透過向 fs 作業新增 .reconfigure() 函式修復此弱點,我們可以使用此函式檢查請求的旗標,並拒絕不是 RO 的任何內容 (前提是固體在執行階段未實作 SetVariable)。(CVE-2023-52463)

- 在 Linux 核心中,下列弱點已修復:mfd:syscon:修復 of_syscon_register() 中的 null 指標解除參照 kasprintf() 會向動態配置記憶體傳回指標,此指標在失敗時變為 NULL。(CVE-2023-52467)

已報告涉及 netfilter 的超出邊界存取弱點,且此弱點已修復為:f1082dd31fe4 (netfilter:nf_tables:拒絕不受支援系列的表格);建立新的 netfilter 表格時,由於缺少針對 `nf_tables_newtable` 函式中無效 nf_tables 系列 (pf) 值的防護措施,攻擊者可以實現超出邊界存取目的。(CVE-2023-6040)

- 在 Linux 核心中,在 lib/idr.c 的 ida_free 中發現一個 NULL 指標解除參照問題。此問題可能允許使用此程式庫的攻擊者因函式傳回時遺漏檢查而造成拒絕服務弱點。(CVE-2023-6915)

- 在 Linux Kernel 的 SMB Client 子元件中,fs/smb/client/smb2ops.c 的 receive_encrypted_standard 有一個超出邊界記憶體讀取缺陷。發生此問題的原因是 memcpy 長度存在整數反向溢位弱點,這會導致拒絕服務。(CVE-2024-0565)

- 當使用者呼叫以 ktls 通訊端作為目標的 splice 函式時,Linux 核心的傳輸層安全性功能中存在一個超出邊界記憶體寫入缺陷。本機使用者可利用此缺陷造成系統當機,或可能提升自己的系統權限。(CVE-2024-0646)

- Linux 核心的 netfilter: nf_tables 元件中有一個釋放後使用弱點,可遭惡意利用來提升本機權限。在釋放之前,nft_setelem_catchall_deactivate() 函式會檢查全能集元素在目前的世代中是否處於作用中狀態,而非在新一代中,但該函式只會在新一代中將其標示為非作用,因而可能多次釋放該元素,進而導致一個重複釋放弱點。我們建議升級過去的 commit b1db244ffd041a49ecc9618e8feb6b5c1afcdaa7。(CVE-2024-1085)

- 在 Linux 核心中,下列弱點已修復:bpf:修復 bpf_tracing_prog_attach 中的重新附加分支。由於缺少 ttach_btf,以下情況會造成當機:1) 載入 rawtp 程式 2) 載入將 rawtp 作為 target_fd 的 fentry 程式 3) 使用 target_fd = 0 為 fentry 程式建立追踪連結 4) 重複 3 最後,我們有:- prog->aux->dst_trampoline == NULL - tgt_prog == NULL (因為我們並未將 target_fd 提供給 link_create) - prog-> aux->attach_btf == NULL (使用 attach_prog_fd=X 載入程式) - 已針對 tgt_prog 載入程式,但我們無法找出是哪一個 錯誤:核心 NULL 指標解除參照,位於:0000000000000058 呼叫追蹤:<TASK> ? __die+0x20/0x70 ? page_fault_oops+0x15b/0x430 ? fixup_exception+0x22/0x330 ? exc_page_fault+0x6f/0x170 ? asm_exc_page_fault+0x22/0x30 ? bpf_tracing_prog_attach+0x279/0x560 ? btf_obj_id+0x5/0x10 bpf_tracing_prog_attach+0x439/0x560 __sys_bpf+0x1cf4/0x2de0 __x64_sys_bpf+0x1c/0x30 do_syscall_64+0x41/0xf0 entry_SYSCALL_64_after_hwframe+0x6e/0x76 在此情況下傳回 -EINVAL。
(CVE-2024-26591)

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

解決方案

執行「yum update kernel」以更新系統。

另請參閱

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

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

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

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

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

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

https://alas.aws.amazon.com/AL2/ALASKERNEL-5.15-2024-036.html

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

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

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

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

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

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

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

Plugin 詳細資訊

嚴重性: High

ID: 190021

檔案名稱: al2_ALASKERNEL-5_15-2024-036.nasl

版本: 1.5

類型: local

代理程式: unix

已發布: 2024/2/6

已更新: 2024/5/10

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

風險資訊

VPR

風險因素: High

分數: 7.4

CVSS v2

風險因素: High

基本分數: 7.7

時間分數: 5.7

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

CVSS 評分資料來源: CVE-2024-0565

CVSS v3

風險因素: High

基本分數: 7.8

時間分數: 6.8

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

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

CVSS 評分資料來源: CVE-2024-1085

弱點資訊

CPE: cpe:/o:amazon:linux:2, p-cpe:/a:amazon:linux:kernel, p-cpe:/a:amazon:linux:kernel-debuginfo, p-cpe:/a:amazon:linux:kernel-debuginfo-common-x86_64, p-cpe:/a:amazon:linux:kernel-devel, p-cpe:/a:amazon:linux:kernel-headers, p-cpe:/a:amazon:linux:kernel-tools, p-cpe:/a:amazon:linux:kernel-tools-debuginfo, p-cpe:/a:amazon:linux:kernel-tools-devel, p-cpe:/a:amazon:linux:perf, p-cpe:/a:amazon:linux:perf-debuginfo, p-cpe:/a:amazon:linux:python-perf, p-cpe:/a:amazon:linux:python-perf-debuginfo, p-cpe:/a:amazon:linux:kernel-debuginfo-common-aarch64, p-cpe:/a:amazon:linux:bpftool, p-cpe:/a:amazon:linux:bpftool-debuginfo, p-cpe:/a:amazon:linux:kernel-livepatch-5.15.148-97.158

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

可輕鬆利用: No known exploits are available

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

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

參考資訊

CVE: CVE-2023-46838, CVE-2023-52439, CVE-2023-52462, CVE-2023-52463, CVE-2023-52467, CVE-2023-6040, CVE-2023-6915, CVE-2024-0565, CVE-2024-0646, CVE-2024-1085, CVE-2024-26586, CVE-2024-26591