Amazon Linux 2023 : perl-Text-CSV_XS (ALAS2023-2026-3340)

critical Nessus Plugin ID 374370

概要

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

說明

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

Text::CSV_XS 版本 1.65 之前的 Perl 透過在片段中為每個 RFC 7111 選擇器的索引分配一個項目來允許記憶體耗盡。

fragment 在讀取任何資料之前,會將 row= 或 col= 選取器展開為每個所選索引一個元素的陣列,而且不會將 cell= 選取器中的明確結束資料行限制在該行。只會檢查範圍的語法和順序,因此兩行檔案上的 row=1-400000000 會配置 400,000,000 個元素。

將要求提供的片段傳遞至片段或 csv 的應用程式可能會耗盡記憶體,這會以 eval 無法擷取的記憶體不足錯誤結束處理程序。(CVE-2026-110752)

Text::CSV_XS 之前1.65的 1.46 Perl 版本在跳過 getline 中的空行時skip_empty_rows bind_columns變數的釋放後使用。

使用 bind_columns,剖析器會將每個欄位寫入呼叫端自己的純量中,而不參照它。當skip_empty_rows跳過空白的最後一行時,剖析器會釋放目前欄位純量,而不檢查它是否已綁定,從應用程式的變數中刪除一個參照。eof 模式對任何空行執行相同的動作。

然後,當應用程式仍在參考變數時,變數就會被釋放,因此稍後的程式碼會使用釋放的記憶體,並可能使進程崩潰。(CVE-2026-110753)

Text::CSV_XS 版本 1.65 之前Perl洩露無法在 getline 中剖析的記錄的剖析欄位。

getline 將記錄的欄位收集到新陣列中,並僅在剖析成功時傳回對該記錄的引用。當記錄有語法錯誤時,getline 會傳回 undef,並且永遠不會釋放陣列或錯誤之前剖析的欄位。

剖析不受信任 CSV 的長時間執行處理程序會保留傳送的每筆格式錯誤的記錄,因此重複的格式錯誤輸入會耗盡其記憶體。(CVE-2026-110754)

Text::CSV_XS 版本 1.65 之前的 Perl 允許二次 CPU 使用,方法是在 getline 中複製每筆僅 CR 輸入記錄的未剖析餘數。

在預設情況下 eol 未設定的情況下,getline 使用 Perl 的預設行分隔符號進行讀取,因此僅 CR 行結尾的輸入會作為一個區塊到達。在每筆記錄之後,剖析器會將整個未剖析的剩餘部分複製到新的緩衝區中,下一個呼叫會剖析並再次複製該緩衝區,因此工作會隨著輸入大小的平方而成長。

具有預設選項的讀取器傳送具有傳統 Mac 行結尾的 CSV 檔案,會在一兆位元組的輸入上花費數秒鐘的 CPU 時間。(CVE-2026-110755)

Text::CSV_XS 版本 1.65 之前的 FOR Perl當 UTF-8 標記的欄位在列印中無效的 UTF-8 位元組之前時,刪除記錄的結尾及其行結尾。

當記錄包含 UTF-8 標記的欄位時,print 會在每次緩衝區排清時保留無效 UTF-8 的尾端位元組,以便完成在兩個排清中分割的字元。在記錄的最終排清之後,沒有任何內容會寫入保留的位元組。最後一個欄位以這樣的位元組結尾的記錄會遺失它、任何結束引號和行結尾,而 print 仍會傳回 true。Combine 不受影響。

下一條記錄會寫入同一行,或者,當引用最後一個欄位時,缺少的結束引號會讓讀者將後面的每條記錄作為該欄位的一部分。(CVE-2026-110756)

Text::CSV_XS 版本 1.65 之前的 for Perl 允許透過在組合中寫入用作數字的字串來分割記錄。

combine 和 print:當欄位的值設定了 Perl 的整數或數值旗標時,不要檢查欄位是否需要引號。當 Perl 剖析為數字時,在數值運算中使用的字串上設定這些標誌,這允許前導和尾隨空格。使用二進位設定後,就像 csv 預設所做的那樣,12\n 會通過檢查 $qty ,例如 > 0,然後用其新行不帶引號寫入。

驗證為數字的值可以提前結束記錄,並將記錄後面的欄位變成單獨的列。
(CVE-2026-110757)

Text::CSV_XS 版本 1.65 之前的版本,Perl在 strip_trail_whitespace 中allow_whitespace下的全空白欄位開始之前讀取。

在「allow_whitespace」下,strip_trail_whitespace會從每個未加引號的欄位中移除尾端空格和定位點,而不會停在欄位的開頭。對於只有空白的欄位,它會讀取欄位堆積緩衝區之前的位元組。如果該位元組也是空格或定位點,則可能會歸零,而且遍歷會繼續向後移動,視配置器放置的位置而定。

在儲存欄位之前,通常會跳過前導空白,但全空白欄位仍會在與 quote_char 不同的前導escape_char之後到達,或當其行以兩個 CR 結尾時,作為 getline 中的引號欄位到達。CVE-2026-110758

Text::CSV_XS 版本 1.65 之前的 Perl 傳回一個不在空白最後一個欄位的輸入中的 0xFF 位元組,後面接著剖析中的單獨 CR。

當要剖析的輸入以分隔字元和單獨的 CR 結尾時,剖析器會將輸入的結尾視為下一個字元,並將欄位中的檔案結尾標記儲存為位元組0xFF。使用二進位集時,parse(a,\r) 會傳回欄位 a 和 \xFF。在 UTF-8 標記的輸入上,最後一個欄位是保留該單獨位元組的 UTF-8 標記字串,這是格式錯誤的 UTF-8。具有非空白最後一個欄位的相同輸入會被視為錯誤而拒絕。

當最後一列為空時,逐行讀取並咀嚼的 CRLF 檔案會以這種方式結束,因此應用程式會收到不在其輸入中的位元組。(CVE-2026-110759)

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

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

解決方案

執行「dnf update perl-Text-CSV_XS --releasever 2023.12.20261102」或「dnf update --advisory ALAS2023-2026-3340 --releasever 2023.12.20261102」來更新您的系統。

另請參閱

https://alas.aws.amazon.com//AL2023/ALAS2023-2026-3340.html

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

https://explore.alas.aws.amazon.com/CVE-2026-110752.html

https://explore.alas.aws.amazon.com/CVE-2026-110753.html

https://explore.alas.aws.amazon.com/CVE-2026-110754.html

https://explore.alas.aws.amazon.com/CVE-2026-110755.html

https://explore.alas.aws.amazon.com/CVE-2026-110756.html

https://explore.alas.aws.amazon.com/CVE-2026-110757.html

https://explore.alas.aws.amazon.com/CVE-2026-110758.html

https://explore.alas.aws.amazon.com/CVE-2026-110759.html

Plugin 詳細資訊

嚴重性: Critical

ID: 374370

檔案名稱: al2023_ALAS2023-2026-3340.nasl

版本: 1.1

類型: Local

代理程式: unix

已發布: 2026/10/30

已更新: 2026/10/30

支援的感應器: Frictionless Assessment AWS, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

風險資訊

VPR

風險因素: Medium

分數: 5

百分位數: 92.99

CVSS v2

風險因素: Critical

基本分數: 10

時間性分數: 7.4

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

CVSS 評分資料來源: CVE-2026-110759

CVSS v3

風險因素: Critical

基本分數: 9.8

時間性分數: 8.5

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

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

弱點資訊

CPE: cpe:/o:amazon:linux:2023, p-cpe:/a:amazon:linux:perl-text-csv_xs-debuginfo, p-cpe:/a:amazon:linux:perl-text-csv_xs-debugsource, p-cpe:/a:amazon:linux:perl-text-csv_xs

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

可輕鬆利用: No known exploits are available

修補程式發佈日期: 2026/10/30

弱點發布日期: 2026/10/15

參考資訊

CVE: CVE-2026-110752, CVE-2026-110753, CVE-2026-110754, CVE-2026-110755, CVE-2026-110756, CVE-2026-110757, CVE-2026-110758, CVE-2026-110759