跳至主要內容

CVE-2026-89065 與 CVE-2026-89066:projen 的路徑遍歷與作業系統命令注入問題

公告 ID:2026-108-AWS
範圍:AWS
內容類型:重要 (需要注意)
發布日期:2026 年 9 月 11 日上午 9:00 (太平洋夏令時間)

描述:

projen 是一套開放原始碼工具,用於以程式碼方式定義與合成軟體專案組態。AWS 在 projen 中發現兩個問題,分別影響產生的檔案清單清理元件與任務合成元件。

  • CVE-2026-89065 – projen 0.101.37 版之前,其產生的檔案清單清理元件存在相對路徑遍歷問題,可能讓情境相依的攻擊者透過版本控制的產生檔案清單 (.projen/files.json) 中的特製項目,遞迴刪除專案目錄以外的檔案與目錄;該清單會在專案合成期間被取用。下次執行時,projen 執行時期會自動套用修正後的包含檢查。
  • CVE-2026-89066 – projen 0.103.0 版之前,其任務合成元件在處理作業系統命令中所使用的特殊元素時未妥善中和,可能讓情境相依的攻擊者透過專案組態值與儲存庫檔案名稱中的 shell 中繼字元,在開發人員工作站或持續整合執行器上執行任意命令;這些值會被內插到 .projen/tasks.json 中產生的任務定義。

受影響版本:

  • 所有 projen 0.101.37 之前的版本 (CVE-2026-89065)
  • 所有 projen 0.103.0 之前的版本 (CVE-2026-89066)

解決方案:

  • CVE-2026-89065 已於 projen 0.101.37 版中解決。升級至 0.101.37 或更新版本即已足夠;無需重新合成。
  • CVE-2026-89066 已於 projen 0.103.0 版中解決。升級後,您必須重新合成專案,以使用修正後的任務定義重新產生 .projen/tasks.json。單獨升級並不足夠,因為產生的任務定義檔已提交至儲存庫。

我們建議升級至最新版本,並確保所有衍生程式碼皆已套用修補程式以納入新的修正。

變通方法:

  • CVE-2026-89065:請檢閱 .projen/files.json 的版本控制歷程,找出逃逸出專案目錄的項目,並在執行 projen 前將其移除。
  • CVE-2026-89066: 請稽核專案組態值,包括 LambdaFunctionOptions.entrypoint、AddBundleOptions 欄位、JestOptions.extraCliOptions、PytestOptions.testMatch、ReleaseOptions.artifactsDirectory,以及公告中列出的其他屬性,檢查是否有 shell 中繼字元,並在執行 projen 前將其移除或逸出處理。

參考資料:


如有任何安全問題或疑慮,請寄電子郵件至 aws-security@amazon.com。