2025年失去安全支持的12個關鍵開源項目
通過提前了解你的開源軟件的生命周期結束時間,你可以計劃遷移,從而更好地保護[私有數據]。
譯自12 Critical Open Source Projects Losing Security Support in 2025,作者 Greg Allen。
沒有什么是永恒的,這在開源軟件中尤其如此。即使是最流行的開源技術版本,也終將有一天會達到其生命周期結束(EOL)。
對于主要版本的開源軟件包來說,EOL事件不僅僅是錯過了只會整合到未來版本中的新功能,它還會為依賴該開源軟件的應用程序帶來安全風險。
例如,Apache Struts框架最近發現了一個嚴重漏洞(CVE-2024-53677)。雖然該問題是在積極支持的Struts 6版本中發現的,但它也適用于數千個應用程序仍在使用的已棄用、生命周期結束的Struts 2版本。
仍然依賴Struts 2的公司面臨風險,除非他們能夠立即遷移到Struts 6,但這對于大多數應用程序來說是不現實的。另一種選擇是使用來自值得信賴的長期支持提供商的開源庫的直接替代品。這些解決方案包括漏洞補丁,它們為潛在的迫在眉睫的災難提供了一種可行、安全且近乎即時的解決方案——尤其是對于受監管行業的企業——讓您有更多時間徹底規劃您的遷移。我們在HeroDevs的團隊為Struts 2提供了一個類似的解決方案。在CVE-2024-53677被發現后的一周內,人們對我們的Struts解決方案的興趣增長了20倍,這突顯了一個關鍵的CVE對于不受支持的OSS用戶來說是多么大的問題。
通過提前了解您的開源軟件的生命周期結束時間,您可以更好地規劃您的遷移,這樣您就不會將您和您客戶的數據置于風險之中。這份包含12個項目的列表代表了我認為在2025年將發生EOL事件的一些最關鍵的項目。重要的是要注意,此列表并不詳盡。我的團隊已經確定了2025年近150個主要的開源EOL事件,并且可能還有更多無法預測的事件。
重要的是要注意,生命周期結束事件不僅僅有一種類型,例如完全停止軟件包與僅停止對特定版本的支持。AngularJS在2022年1月被完全棄用,因為Google覺得它不再滿足現代Web領域的需求。與此同時,.NET基金會和微軟在2024年11月停止了對.NET 6的支持,以專注于更新的.NET 8和未來版本。大多數將在2025年達到其生命周期結束的項目都是類似于.NET 6的版本EOL。
1. Laravel v10 (2025年2月4日)
Laravel是一個基于PHP的全棧Web應用程序框架。它對開發者非常友好,被廣泛使用,并且擁有強大的社區。它旨在簡化和加速Web開發。Laravel v10將于2025年2月4日達到其生命周期結束。
2. OpenSSL v3.1 (2025年3月14日)
OpenSSL被廣泛用于Web和通信平臺上的加密、安全通信。它很可能是此列表中最常用的軟件包;任何具有API的東西都可能使用它。OpenSSL v3.1將于2025年3月14日達到其生命周期結束。
3. Ruby v3.1 (2025年3月31日)
Ruby是一種編程語言,廣泛用于Ruby on Rails Web框架。Ruby on Rails以能夠快速開發基于Web的應用程序而聞名。Ruby v3.1將于2025年3月31日達到其生命周期結束。
4. Node.js v18 (2025年4月30日)
Node.js是一個跨平臺的JavaScript運行時環境,無需過多介紹。許多公司——包括一些最大的公司——使用它來構建快速且可擴展的應用程序。Node.js v20在V8引擎中引入了權限模型和性能更新。Node.js v18將于2025年4月30日達到其生命周期結束。
5. Django v5.0 和 v5.1 (2025年4月30日)
Django是一個基于Python的Web應用程序框架,可以快速、輕松和干凈地開發程序。它可以很好地處理復雜的數據庫,使其適用于數據密集型應用程序、數據科學工具和社交媒體應用程序。Django v5.0和v5.1將于2025年4月30日到期。
6. Kafka v3.4 (2025年5月3日) 和 v3.5 (2025年8月25日)
Kafka是最可擴展和廣泛采用的分布式發布/訂閱框架之一,適用于實時數據管道和分析用例。Kafka 以可擴展、容錯的方式處理大量數據的能力使其成為許多大型數據架構的基石。v3.4 將于 2025 年 5 月 3 日達到其生命周期終點。v3.5 將于 2025 年 8 月 25 日達到其生命周期終點。
7. Drupal v10(2025 年 6 月 16 日)
Drupal是一個 CMS 和框架,以其靈活性、可擴展性和可擴展性而聞名。它廣泛應用于以內容為中心的平臺,如網站、社區和社交平臺以及媒體公司。Drupal v10.3,Drupal 10 的最后一個受支持版本,將于 2025 年 6 月 16 日結束其支持。
8. Kubernetes < v1.32(2025 年 7 月)
Kubernetes是使用最廣泛的容器編排平臺。大多數容器化應用程序都會使用某個版本的 Kubernetes,尤其是那些具有復雜系統且可以從微服務架構中受益的應用程序。與許多開源軟件發布計劃一樣,Kubernetes 發布遵循結構化的時間表,其中每個次要版本在發布后都將獲得一年的完整支持,并在其生命周期結束前有 2 個月的維護期。Kubernetes v1.34 于 2024 年 5 月 15 日發布,預計將于 2025 年 5 月達到其完整支持的終點,并于 2025 年 7 月達到其生命周期終點。
9. MongoDB 6(2025 年 7 月 31 日)
MongoDB是一個多功能、可擴展的 NoSQL 數據庫,廣泛應用于各個行業,并因其對各種數據(完全結構化、半結構化和非結構化)的靈活支持而備受喜愛。MongoDB 7 帶來了一些令人興奮的改進,例如可查詢加密,但這也意味著 6 將于 2025 年 7 月 31 日達到其生命周期終點。
10. NumPy v1(2025 年 9 月 17 日)
NumPy起源于 Numerical Python (Numeric) 的一個分支,并融入了 Numarray 的改進。Python 科學計算社區廣泛采用它,這對于密集的數值數據處理和計算應用程序來說非常棒。在 2025 年 9 月 17 日,所有 v1 版本都將達到其生命周期終點。
11. Postgres v13(2025 年 11 月 13 日)
PostgreSQL是一個高度可擴展的關系數據庫管理系統,支持 SQL 用于查詢和數據管理。它廣泛應用于數據分析、業務數據庫和 Web 應用程序。V13 將于 2025 年 11 月 13 日達到其生命周期終點。
12. Angular v17(2025 年 5 月 15 日)和 v18(2025 年 11 月 19 日)
Angular是 Google 工程師于 2010 年推出的一個綜合框架,后來經過重寫以取代 2016 年的 AngularJS。它被廣泛用于構建可擴展的 Web 應用程序。 Angular v17 將于 2025 年 5 月 15 日結束,v18 將于 2025 年 11 月 19 日結束。
遷移需要大量的時間(和金錢)。遷移的復雜性取決于多種因素,包括開源軟件包/框架、代碼庫的整潔程度、團隊規模和應用程序規模。在 HeroDevs,我們花大量時間與組織討論遷移和補救選項。從前端 AngularJS 遷移(其中 10 萬行代碼的遷移可能需要2.7 years of effort)到 Spring 5->6 遷移(其中具有許多依賴項的大型項目可能需要more than 6 years of effort),這些 EOL 時刻應該進行規劃和預算。
假設您依賴的 OSS 軟件包預計在來年發生 EOL 事件。在這種情況下,您應該已經開始您的規劃和遷移——特別是如果您所在的行業受到高度監管,例如醫療保健 (HIPAA)、支付 (SOC 2 和 PCI DSS)、教育 (FERPA) 和政府 (FedRAMP)。
如果您需要更多時間,還有其他選擇。直接或第三方商業支持可以提供擴展的長期支持,使您可以根據自己的時間表規劃遷移并確保數據的安全。