概要
遠端 Amazon Linux 2023 主機缺少一個安全性更新。
說明
因此,會受到 ALAS2023-2026-1862 公告中所提及的多個弱點影響。
Vim 是開放原始碼命令列文字編輯器。在之前 9.2.0280,Vim 的 zip.vim 外掛程式中的路徑遍歷繞過允許在開啟特製的 zip 檔案時覆蓋任意檔案,從而規避了先前針對 CVE-2025-53906. 此弱點已在 9.2.0280 中修正。
(CVE-2026-35177)
例如,v9.2.0316 之前的 Vim NetBeans 整合中的命令插入。netbeans defineAnnoType 命令會將未經清理的 typeName、fg 和 bg 傳遞至 coloncmd(),允許惡意 NetBeans 伺服器透過「|」插入任意 Ex 命令。同樣地,specialKeys 不會在建置對應命令之前驗證金鑰權杖。(CVE-2026-39881)
Vim 是開放原始碼命令列文字編輯器。對於早於 9.2.0383 的版本,Vim 隨附的 build_stl_str_hl() 標準外掛程式中存在一個 OS 命令插入弱點。透過誘騙使用者開啟特製的 URL (例如,使用 sftp:// 或 file:// 通訊協定處置程式),攻擊者能夠以 Vim 處理程序的權限執行任意 shell 命令。此問題已在 9.2.0383 版中修正。
(CVE-2026-42307)
從全域標記檔案清單中取消標記檔案時,netrw 外掛程式 ('runtime/pack/dist/opt/netrw/autoload/netrw.vim') 的 's:NetrwMarkFile()' 中存在 Vimscript 程式碼插入弱點。
從緩衝區的目錄清單派生的檔案名稱被插入到傳遞給「filter()」的字串表達式中,允許包含雙引號的精心設計的檔案名稱突破帶引號的字串文字並執行任意 Vimscript,包括透過「execute()」和「:!」的 shell 命令。
## Description's:NetrwMarkFile()' 維護兩個標記檔案清單:緩衝區本機清單和全域清單。
當檔案未標記時,兩個清單都會更新。緩衝區本機清單使用安全模式:
呼叫篩選器(s:netrwmarkfilelist_{curbufnr},'v:val != a:fname')
其中 'a:fname' 會作為篩選運算式內的變數參照,並在評估時解析。
不過,全域清單會將檔案名稱的值直接內插到運算式字串中:
讓 dname = netrw#fs#ComposePath(b:netrw_curdir, a:fname)...呼叫 filter(s:netrwmarkfilelist, 'v:val != '.dname.'')
當 'filter()' 收到字串引數時,該字串會剖析為 aVimscript 運算式。包含 '' 的檔案名稱會提前終止引號文字,之後檔案名稱的其餘部分會評估為 Vimscript。注入片段內的諸如“execute(!cmd)”之類的呼叫以執行 Vim 的使用者的權限執行任意 Ex 命令。檔案名稱透過“mf”映射到達“s:NetrwMarkFile()”,該映射呼叫“s:NetrwGetWord()”從 netrw 目錄清單的目前行讀取檔案名稱。
注入僅在給定條目的第二次按下「mf」時觸發,因為第一次按下會採用「add()」分支,而只有第二次按下會採用易受攻擊的「filter()」分支。(CVE-2026-43961)
Vim 是開放原始碼命令列文字編輯器。在版本之前 9.2.0435,Vim 的 :find 命令列完成中存在作業系統命令插入弱點。當 path 選項包含反引號括起來的殼層命令時,會在檔名完成期間執行這些命令。由於路徑選項缺少 P_SECURE 標誌,因此可以從模式行設定它,這使得控製檔案內容的攻擊者可以在使用者在 Vim 中開啟該檔案並觸發 :find 補全時執行任意 shell 命令。此問題已在 9.2.0435 版中修正。(CVE-2026-44656)
Vim 是開放原始碼命令列文字編輯器。在版本 9.2.0450之前,載入具有 UTF-8 編碼的特製拼寫檔案 (.spl) 時,src/spellfile.c 中的 read_compound() 中存在堆積緩衝區溢位。
拼寫檔案複合區段中的攻擊者控制長度欄位會溢位 32 位帶正負號的整數乘法,導致為執行多次反覆運算的寫入迴圈配置一個小緩衝區,從而使堆積溢位。由於 'spelllang' 選項可以從 modeline 設定,因此如果在運行時間路徑上植入了惡意 .spl 檔案,則文字檔案 modeline 可以觸發拼寫檔案載入。此問題已在 9.2.0450 版中修正。(CVE-2026-45130)
Vim 是開放原始碼命令列文字編輯器。之前,9.2.0479在類 Unix 系統上解壓縮 .tgz 封存時,tar#Vimuntar() inruntime/autoload/tar.vim 中存在命令插入弱點。
此函數使用不含 {special} 標誌的 shellescape(tartail) 建置 :!gunzip 和 :!gzip -d 命令,允許精心設計的存檔檔案名稱觸發 Vim cmdline-special 擴充功能並在使用者上下文中執行 shell 命令。此弱點已在 9.2.0479 中修正。(CVE-2026-46483)
Vim 是開放原始碼命令列文字編輯器。在 9.2.0495 之前的版本中,在將已瀏覽的目錄路徑序列化到歷史記錄檔案 ~/.vim/.netrwhist 時,netrw plugin (runtime/pack/dist/opt/netrw/autoload/netrw.vim) 中的 s:NetrwBookHistSave() 中存在 Vimscript 程式碼插入弱點。從檔案系統派生的目錄名稱會被內插到以單引號包圍的 Vimscript 字串文字中,並且未對內嵌的單引號進行逸出處理。這會導致特製的目錄名稱跳出字串上下文並執行任意 Vimscript,包括在下次擷取歷史記錄檔案時透過 system() 和 :!, 執行 shell 命令。此問題已在 9.2.0495 版中修正。
(CVE-2026-47162)
Vim 是開放原始碼命令列文字編輯器。在版本之前 9.2.0496,在支援 +ruby 的 Vim 版本上,cucumber 檔案類型外掛程式 (runtime/ftplugin/cucumber.vim) 的 s:stepmatch() 中存在程式碼插入弱點。從儲存庫的 features/*/ 或 Stories/*/ 目錄下的 .rb 檔案讀取的步驟定義模式會嵌入到 Ruby Kernel.eval 參數中,而無需充分轉義,從而允許攻擊者控制的儲存庫中的精心設計的模式在使用者呼叫步進映射 ([d, ]d) 時執行任意 Ruby(並通過它執行任意 shell 命令)。此問題已在 9.2.0496 版中修正。(CVE-2026-47167)
Vim 是開放原始碼命令列文字編輯器。在版本 9.2.0561之前,python3complete.vim for Vim 中的 Python omni-completion 腳本在啟用了 +python3 解譯器的情況下(以及用於使用 +python 解譯器的構建的舊版 pythoncomplete.vim)會透過 Python 的匯入機制執行目前緩衝區中找到的匯入和 from 陳述式。由於緩衝區的工作目錄位於 sys.path 上,因此開啟具有同級 Python 套件的惡意 .py 檔案並叫用 omni-completion 會以編輯使用者身分執行該套件的頂層程式碼。此問題已在 9.2.0561 版中修正。
(CVE-2026-52858)
Vim 是開放原始碼命令列文字編輯器。在版本之前 9.2.0565,src/terminal.c 中的 update_snapshot() 函式會在拍攝快照時,將可見的終端機畫面複製到捲動緩衝區中。
對於每個螢幕儲存格,它會遍歷儲存格的 chars[] 數組,沒有上限,僅在遇到 NUL 終止符時停止。當單元格合法填入所有 VTERM_MAX_CHARS_PER_CELL (6) 槽(一個基本字元加上五個組合標記)時,捆綁的 libvterm 會傳回沒有終止 NUL 的數組,因此循環讀取固定的六元素數組,並將越界值附加到僅保留六個字元的緩衝區。輸出在 :terminal 視窗內呈現的程式可以使用短位元組序列且沒有 Vim 腳本來觸發此觸發,從而導致當機。此問題已在 9.2.0565 版中修正。(CVE-2026-52859)
Vim 是開放原始碼命令列文字編輯器。在版本之前 9.2.0597,Vim 的 Python 全方位補全功能使用 exec() 從目前緩衝區執行重構的函數和類別定義,作為填入補全字典的一部分。Python 會在定義時評估函式預設值、參數註解和類別基底運算式,因此惡意緩衝區可以在全完成期間執行攻擊者控制的 Python 運算式。現有的 g:pythoncomplete_allow_import 緩解措施 (GHSA-52mc-rq6p-rc7c) 未涵蓋此路徑,因為攻擊者控制的程式碼不是收集的 import/from 陳述式。此問題已在 9.2.0597 版中修正。(CVE-2026-52860)
Tenable 已直接從所測試產品的安全公告擷取前置描述區塊。
請注意,Nessus 並未測試這些問題,而是僅依據應用程式自我報告的版本號碼作出判斷。
解決方案
執行「dnf update vim --releasever 2023.12.20260622」或「dnf update --advisory ALAS2023-2026-1862 --releasever 2023.12.20260622」以更新系統。
Plugin 詳細資訊
檔案名稱: al2023_ALAS2023-2026-1862.nasl
代理程式: unix
支援的感應器: Agentless Assessment, Continuous Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus
風險資訊
媒介: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C
媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
時間媒介: CVSS:3.0/E:P/RL:O/RC:C
Threat Vector: CVSS:4.0/E:P
Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
弱點資訊
CPE: p-cpe:/a:amazon:linux:vim-filesystem, p-cpe:/a:amazon:linux:vim-data, p-cpe:/a:amazon:linux:vim-enhanced-debuginfo, p-cpe:/a:amazon:linux:vim-common, p-cpe:/a:amazon:linux:vim-minimal-debuginfo, p-cpe:/a:amazon:linux:xxd-debuginfo, p-cpe:/a:amazon:linux:xxd, p-cpe:/a:amazon:linux:vim-minimal, p-cpe:/a:amazon:linux:vim-enhanced, p-cpe:/a:amazon:linux:vim-default-editor, p-cpe:/a:amazon:linux:vim-debuginfo, cpe:/o:amazon:linux:2023, p-cpe:/a:amazon:linux:vim-debugsource
必要的 KB 項目: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list
可輕鬆利用: Exploits are available
參考資訊
CVE: CVE-2026-35177, CVE-2026-39881, CVE-2026-42307, CVE-2026-43961, CVE-2026-44656, CVE-2026-45130, CVE-2026-46483, CVE-2026-47162, CVE-2026-47167, CVE-2026-52858, CVE-2026-52859, CVE-2026-52860