Perl-DBI 漏洞: CVE-2026-14739,CVE-2026-14380,CVE-2026-15043,CVE-2026-15392,CVE-2026-60081

摘要

CVE-2026-14739:
DBI for Perl 堆疊溢出漏洞,當軟體嘗試預先解析包含大量佔位符的 SQL 語句時就會發生。這可能導致遠端攻擊者發動拒絕服務攻擊,甚至執行任意程式碼。

CVE-2026-14380:
Perl 的 DBI 元件允許攻擊者透過操縱 DBI 句柄的 Profile 屬性來注入並執行任意程式碼。當向該屬性賦值字串時,元件會在未進行適當驗證的情況下處理該字串,從而允許執行未經授權的 Perl 程式碼,包括系統命令。如果攻擊者能夠控制某些輸入(例如環境變數或連接字串參數),則可以利用此漏洞在受影響的系統上執行任意程式碼。在某些配置下,這甚至可能導致遠端執行程式碼。

CVE-2026-15043:
Perl 的 mini-SQL 引擎 DBI::SQL::Nano 中發現了一個漏洞。這個漏洞是由於引擎錯誤地評估了文字比較的 SQL 運算符,特別是「小於等於」和「大於等於」運算的邏輯被顛倒所致。這可能導致依賴這些比較進行資料過濾的應用程式(例如用於策略或授權的應用程式)在不發出任何提示的情況下傳回錯誤的結果。此漏洞的影響取決於應用程式如何使用這些 SQL 查詢。

CVE-2026-15392:
DBD::File 中發現了一個漏洞。此complete_table_name方法負責建立絕對錶檔案路徑,但它沒有驗證檔案是否為符號連結。這項疏忽使得本地攻擊者可以在資料目錄中建立一個指向目標資料儲存區域之外任意檔案的符號連結。因此,基於文件的驅動程式可能會被誘騙讀取或寫入未經授權的文件,從而導致資訊外洩或資料損壞。

CVE-2026-60081:
Perl 模組 DBI::ProfileData 中發現了一個漏洞。攻擊者可以透過提供精心建構的輸入來利用此漏洞發動拒絕服務 (DoS) 攻擊。此漏洞的根源在於軟體在處理設定檔轉儲檔案時未能正確限制路徑索引,這可能導致記憶體消耗過高。

CVE ID CVSS v3 評分 嚴重性 安全漏洞類型
CVE-2026-14739 8.1 高 CWE-131
緩衝區大小計算錯誤
CVE-2026-14380 8.8 高 CWE-94
程式碼注入
CVE-2026-15043 4.3 中 CWE-480
使用了錯誤的運算符
CVE-2026-15392 6.3 中 CWE-59
檔案存取前連結解析不正確(連結追蹤)
CVE-2026-60081 2.8 中 CWE-770
無限製或無節流的資源分配

影響範圍

CVE ID 組件 系統 狀態
CVE-2026-14739 perl-DBI Red Hat Enterprise Linux 8
Red Hat Enterprise Linux 9
已修復
CVE-2026-14380 perl-DBI Red Hat Enterprise Linux 8
Red Hat Enterprise Linux 9
已修復
CVE-2026-15043 perl-DBI Red Hat Enterprise Linux 8
Red Hat Enterprise Linux 9
修復延期
CVE-2026-15392 perl-DBI Red Hat Enterprise Linux 8
Red Hat Enterprise Linux 9
修復延期
CVE-2026-60081 perl-DBI Red Hat Enterprise Linux 8
Red Hat Enterprise Linux 9
修復延期

解決方案

核心及套件完整更新

緩解措施

CVE-2026-14739:
使用 `perl-DBI` 的應用程式應實現強大的輸入驗證機制,並限制 SQL 查詢佔位符中使用的參數數量,尤其是在處理不受信任的資料時。這種操作控制可以防止建構包含過多佔位符的 SQL 語句,從而降低觸發堆溢出漏洞的風險

CVE-2026-14380:
若要降低任意程式碼執行的風險,請避免從不受信任的來源設定 `DBI_PROFILE` 環境變數。確保 DSN 驅動程式屬性子句(特別是與 `dbi:Driver(Profile=>SPEC):db` 一起使用的子句)不會使用未經驗證或不受信任的輸入。

CVE-2026-15392:
為緩解此問題,請確保使用 `DBD::File` 進行資料儲存的應用程式所使用的目錄具有受限的寫入權限,以防止不受信任的本機使用者建立符號連結。此操作控制措施透過阻止建立惡意符號連結來限制攻擊者利用此漏洞的能力。

相關產品

SCADA9 x86_64
SCADA8 x86_64