目录

名称

perl5363delta - perl v5.36.3 的新功能

描述

本文档描述了 5.36.1 版本和 5.36.3 版本之间的区别。请注意:本文档忽略了 Perl 5.36.2,这是一个存在时间仅为几天的破损版本。

如果您正在从较早版本升级,如 5.36.0,请先阅读 perl5361delta,该文档描述了 5.36.0 和 5.36.1 之间的区别。

安全性

此版本修复了以下安全问题。

CVE-2023-47038 - 透過非法用戶定義的 Unicode 屬性寫入超出緩衝區端的漏洞

這個漏洞是由 Nathan Mills the.true.nathan.mills@gmail.com 直接向 Perl 安全團隊報告的。

當由 Perl 5.30.0 到 5.38.0 編譯時,一個精心製作的正則表達式可以導致在堆分配的緩衝區中出現一個字節的受攻擊者控制的緩衝區溢出。

CVE-2023-47039 - Perl for Windows 二進制劫持漏洞

這個漏洞是由 GitHub 用戶 ycdxsb https://github.com/ycdxsb/WindowsPrivilegeEscalation 向英特爾產品安全事件響應小組 (PSIRT) 报告的。然後 PSIRT 向 Perl 安全團隊报告了這一情況。

Perl for Windows 依賴系統路徑環境變量來查找 shell(cmd.exe)。當運行使用 Windows Perl 解釋器的可執行文件時,Perl 嘗試在操作系統中找到並執行 cmd.exe。然而,由於路徑搜索順序問題,Perl 最初會在當前工作目錄中尋找 cmd.exe。

有限權限的攻擊者可以利用這種行為,將 cmd.exe 放置在具有弱權限的位置,例如 C:\ProgramData。通過這樣做,當系統管理員嘗試從這些受到威脅的位置使用此可執行文件時,可以執行任意代碼。

致謝

Perl 5.36.3 從 Perl 5.36.1 至今約經歷了 1 個月的開發,跨越了 4 位作者的 38 個文件,共約 2,300 行的變更。

在排除自動生成的文件、文檔和發布工具之後,對 8 個 .pm、.t、.c 和 .h 文件進行了約 1,400 行的變更。

Perl 在進入第四個十年時仍然蓬勃發展,這要歸功於一個充滿活力的用戶和開發者社區。以下人員已知為 Perl 5.36.3 的改進作出了貢獻:

Karl Williamson、Paul Evans、Steve Hay、Tony Cook。

上面的列表幾乎肯定是不完整的,因為它是從版本控制歷史記錄中自動生成的。特別是,它不包括向 Perl Bug 追踪器報告問題的(非常感謝)貢獻者的名字。

此版本中許多變更是源於 Perl 核心中包含的 CPAN 模組。我們感謝整個 CPAN 社群對 Perl 的幫助,使其得以蓬勃發展。

要查看所有 Perl 歷史貢獻者的更完整列表,請參閱 Perl 源代碼發布中的 AUTHORS 文件。

報告錯誤

如果您發現了可能是 bug 的問題,您可以檢查 Perl 的 bug 數據庫,網址為 https://github.com/Perl/perl5/issues。您還可以在 Perl 官網 http://www.perl.org/ 上獲得相關信息。

如果您認為您發現了一個未報告的 bug,請在 https://github.com/Perl/perl5/issues 上提交一個問題。請確保將您的 bug 減少到一個小但足夠的測試用例。

如果您報告的 bug 具有安全影響,使其不適合發送到公共問題跟踪器,請參見 perlsec 中的 "SECURITY VULNERABILITY CONTACT INFORMATION" 以獲取如何報告問題的詳細信息。

致謝

如果您希望感謝 Perl 5 Porters 在 Perl 5 中所做的工作,您可以運行 perlthanks 程序。

perlthanks

這將向 Perl 5 Porters 列表發送一封感謝郵件。

參見

查看 Changes 文件以獲取有關所有更改的詳細信息。

查看 INSTALL 文件以獲取 Perl 的構建方式。

查看 README 文件以獲取一般信息。

查看 ArtisticCopying 文件以獲取版權信息。