目錄

名稱

perl5303delta - perl v5.30.3 的新功能

說明

本文檔說明 5.30.2 版本和 5.30.3 版本之間的差異。

如果您要從較早的版本(例如 5.30.1)升級,請先閱讀 perl5302delta,其中說明了 5.30.1 和 5.30.2 之間的差異。

安全性

[CVE-2020-10543] 由精心製作的正規表示式所造成的緩衝區溢位

在巢狀正規表示式量詞的儲存空間計算中,一個有符號的 size_t 整數溢位可能會導致 Perl 正規表示式編譯器中堆緩衝區溢位,並以攻擊者提供的資料覆寫正規表示式儲存空間之後的配置記憶體。

目標系統需要足夠的記憶體來配置巢狀量詞的部分擴充,才能在溢位發生之前執行。在 64 位元系統上不太可能滿足這個需求。

發現者:Tarantula 團隊的 ManhND、VinCSS(Vingroup 的成員)。

[CVE-2020-10878] 透過精心製作的正規表示式所產生的格式錯誤位元組碼造成整數溢位

正規表示式引擎的指令之間的偏移量計算中的整數溢位可能會損毀已編譯正規表示式的中間語言狀態。攻擊者可以濫用此行為,將指令插入 Perl 正規表示式的已編譯形式。

發現者:Hugo van der Sanden 和 Slaven Rezic。

[CVE-2020-12723] 由精心製作的正規表示式所造成的緩衝區溢位

Perl 正規表示式編譯器對 S_study_chunk() 的遞迴呼叫,用於最佳化正規表示式的中間語言表示,可能會損毀已編譯正規表示式的中間語言狀態。

發現者:Sergey Aleynikov。

其他注意事項

使用 Perl 編寫的應用程式只有在評估攻擊者提供的正規表示式時,才會對上述任何缺陷產生漏洞。已知在這種使用情境中評估正規表示式很危險,因為正規表示式引擎無法防範拒絕服務攻擊。

不相容變更

沒有任何變更有意與 Perl 5.30.2 不相容。如果存在任何變更,它們就是錯誤,我們要求您提交報告。請參閱下方的 "回報錯誤"

模組和語用

已更新的模組和語用

測試

已新增和變更測試,以反映此版本中的其他新增和變更。

致謝

Perl 5.30.3 自 Perl 5.30.2 以來約歷經 3 個月的開發,包含來自 7 位作者、橫跨 42 個檔案的約 1,100 行變更。

不包含自動產生的檔案、文件和發行工具,共有約 350 行變更套用至 8 個 .pm、.t、.c 和 .h 檔案。

Perl 持續蓬勃發展邁入第四個十年,這要歸功於活躍的使用者和開發人員社群。已知以下人員對 Perl 5.30.3 的改進有所貢獻

Chris 'BinGOs' Williams、Hugo van der Sanden、John Lightsey、Karl Williamson、Nicolas R.、Sawyer X、Steve Hay。

上述清單幾乎可以確定不完整,因為它是自動從版本控制歷程產生。特別是,它不包含向 Perl 錯誤追蹤器回報問題的(非常感謝的)貢獻者的姓名。

此版本包含的許多變更源自 Perl 核心包含的 CPAN 模組。我們感謝整個 CPAN 社群協助 Perl 蓬勃發展。

如需 Perl 所有歷史貢獻者的更完整清單,請參閱 Perl 原始碼發行中的 AUTHORS 檔案。

回報錯誤

如果您發現您認為是錯誤的問題,您可以在 https://github.com/Perl/perl5/issues 檢查 perl 錯誤資料庫。Perl 首頁 https://www.perl.org/ 上也可能有相關資訊。

如果您認為您發現未回報的錯誤,請在 https://github.com/Perl/perl5/issues 開啟問題。請務必將您的錯誤精簡為一個極小但足夠的測試案例。

如果您回報的錯誤具有安全性影響,不適合傳送至公開問題追蹤器,請參閱 perlsec 中的「安全性漏洞連絡資訊」,以取得如何回報問題的詳細資料。

致謝

如果您希望感謝 Perl 5 維護人員在 Perl 5 中所做的工作,您可以執行 perlthanks 程式

perlthanks

這會將一封電子郵件傳送至 Perl 5 維護人員清單,表達您的謝意。

另請參閱

變更 檔案說明如何檢視變更內容的詳盡詳細資料。

安裝 檔案說明如何建置 Perl。

一般事項的 README 檔案。

版權資訊的 ArtisticCopying 檔案。