概要
遠端 Amazon Linux 2023 主機缺少一個安全性更新。
說明
因此,它會受到 ALAS2023-2026-3352 公告中所提及的多個弱點影響。
Cpanel::JSON::XS 版本之前Perl 4.80 洩露因重複金鑰或 decode_hv 中缺少冒號而拒絕的物件的解碼金鑰。
24 個或更多位元組的引號索引鍵,或包含非 ASCII 位元組或逸出序列的索引鍵,會解碼為新的純量。當物件因索引鍵後缺少 ':' 而 4.09被拒絕時,或對於重複的索引鍵,沒有任何東西會釋放該純量。除非設定了 allow_dupkeys、dupkeys_as_arrayref 或 relaxed,否則重複的索引鍵是錯誤。
解碼失敗後繼續執行的處理程序會為每個被拒絕的文件保留一個金鑰,其大小由寄件者選擇。重複的請求會耗盡處理程序記憶體。(CVE-2026-110672)
Cpanel::JSON::XS 版本之前 4.80 的 Perl 允許透過 decode_tag 中 allow_tags 下的巢狀標記值來耗盡堆疊。
使用 allow_tags時,( 會開始標記的值。它的標籤和值會遞迴解碼,每個都可以啟動另一個標記的值。與陣列和物件不同,此巢狀不會計入max_depth。
執行 ( 位元組會耗盡 C 堆疊,並觸發無法擷取的分割錯誤,無論max_depth如何。(CVE-2026-110673)
Cpanel::JSON::XS 版本 4.80 之前的 Perl 透過將指數表示法編碼為allow_bignum下的完整十進位數字來允許記憶體耗盡。
使用 allow_bignum,帶有分數或指數的 JSON 數字解碼為 Math::BigFloat,該數字單獨存儲指數,因此解碼成本低。對其進行非類型化編碼或以JSON_TYPE_FLOAT寫入純十進制形式,每單位指數一個數字。沒有任何內容會限制指數,因此 12 位元組的文字 [1e30000000] 會編碼為 30 MB。
使用 allow_bignum 解碼並重新編碼的不受信任 JSON 可能會耗盡記憶體和 CPU。(CVE-2026-110676)
Cpanel::JSON::XS 版本 4.80 之前的 Perl 允許透過緩衝 incr_parse 中max_size的增量輸入來耗盡記憶體。
剖析器會將每個區塊附加至其緩衝區。在純量或清單內容中,它會將max_size與進度進行比較,而不是與緩衝區長度進行比較。以 NUL 位元組開頭的區塊會在剖析器進行之前停止剖析器,而 void 內容中的呼叫會略過檢查,因此緩衝區會無限制地成長。
將資料串流至incr_parse消費者的對等可能會耗盡處理程序記憶體,而不論max_size為何。
(CVE-2026-110678)
Cpanel::JSON::XS 版本4.204.80,用於Perl當 encode_hv 的規範編碼期間綁定或共用雜湊成長時,寫入越界。
使用 canonical 時,在第二次傳遞收集 tied 或 threads::shared 雜湊的金鑰進行排序之前,會先計算它們。編碼器使用固定的 64 個項目堆疊陣列,或者對於較大的計數,使用從第一次傳遞開始大小的堆積陣列。如果第二次傳遞超過該容量,則會在比較計數之前寫入越界項目。
這會損毀堆疊或堆積記憶體,並可能使進程當機。(CVE-2026-110680)
Cpanel::JSON::XS 版本之前 4.80 的 Perl 使用父解譯器的標量,這些標量來自複製到新 ithread 中的解析器物件。
剖析器物件會將其回呼及其累加剖析緩衝區保留為原始純量指標。建立執行緒時,這些會原封不動地複製到新的解譯器中,因此子項的剖析器會使用並稍後釋放屬於父項且可能已經在那裡釋放的純量。
在執行緒啟動之前建立並在其內部使用的剖析器可能會呼叫釋放的回呼、損毀參照計數並使進程崩潰。(CVE-2026-110681)
Cpanel::JSON::XS 版本3.02024.80,用於Perl在 encode_stringify 中將值編碼為字串時,會洩漏記憶體並保留超載物件。
encode_stringify 會以字串形式寫入值 allow_stringify 下、convert_blessed 下 (對於沒有TO_JSON的物件) 和 allow_bignum 下。對於具有多載的陣列或雜湊物件,以及來自 4.20 純量物件的物件,它會採用永遠不會釋放的額外參照,因此物件及其參照的所有內容永遠不會被釋放。它 4.10 也永遠不會釋放其字串副本。
重複編碼包含這類值的資料,會無限制地增加處理程序記憶體。(CVE-2026-110684)
Cpanel::JSON::XS 版本 4.80 之前的 for Perl當標記值的 THAW 方法在 decode_tag 中死亡時洩露其解碼引數。
使用 allow_tags,標記值的類別名稱和引數陣列會被解碼並傳遞給類別的 THAW 方法。兩者都只會在 THAW 傳回之後釋放,因此終止的 THAW 會保留整個解碼的引數結構。
每個被拒絕的文件都會洩漏寄件者選擇大小的資料,因此捕獲錯誤並繼續執行的處理程序會耗盡其記憶體。(CVE-2026-110685)
Cpanel::JSON::XS 版本之前 4.80 Perl當篩選器在 decode_hv 中解碼期間自行移除時,使用釋放的篩選器回呼。
解碼會複製剖析器的filter_json_object和filter_json_single_key_object回呼,而不參照它們。移除最後一個單一索引鍵篩選器的篩選回呼會釋放回呼資料表,而進行中的解碼仍在使用它。下一個物件會透過釋放的記憶體分派,並可能使進程損毀。(CVE-2026-110686)
Tenable 已直接從所測試產品的安全公告擷取前置描述區塊。
請注意,Nessus 並未測試這些問題,而是僅依據應用程式自我報告的版本號碼作出判斷。
解決方案
執行「dnf update perl-Cpanel-JSON-XS --releasever 2023.12.20261102」或「dnf update --advisory ALAS2023-2026-3352 --releasever 2023.12.20261102」以更新系統。
Plugin 詳細資訊
檔案名稱: al2023_ALAS2023-2026-3352.nasl
代理程式: unix
支援的感應器: Frictionless Assessment AWS, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus
風險資訊
媒介: CVSS2#AV:N/AC:L/Au:N/C:C/I:N/A:C
媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
時間媒介: CVSS:3.0/E:U/RL:O/RC:C
弱點資訊
CPE: cpe:/o:amazon:linux:2023, p-cpe:/a:amazon:linux:perl-cpanel-json-xs-debuginfo, p-cpe:/a:amazon:linux:perl-cpanel-json-xs-debugsource, p-cpe:/a:amazon:linux:perl-cpanel-json-xs
必要的 KB 項目: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list
可輕鬆利用: No known exploits are available