Apache Tomcat 被曝重大漏洞,影響過去 13 年的所有版本

Apache Tomcat 被曝重大漏洞,影響過去 13 年的所有版本

近日,國內安全公司長亭科技披露一個在 Tomcat 中潛伏十多年的安全漏洞——Ghostcat (幽靈貓),其編號為 CVE-2020-1938 。

據悉,Ghostcat(幽靈貓)由長亭科技安全研究員發現,它是存在於 Tomcat 中的安全漏洞。

由於 Tomcat AJP 協議設計上存在缺陷,攻擊者通過 Tomcat AJP Connector 可以讀取或包含 Tomcat 上所有 webapp 目錄下的任意文件,例如可以讀取 webapp 配置文件或源代碼。

Tomcat Connector 是 Tomcat 與外部連接的通道,它使得 Catalina 能夠接收來自外部的請求,傳遞給對應的 Web 應用程序處理,並返回請求的響應結果。默認情況下,Tomcat 配置了兩個 Connector,它們分別是 HTTP Connector 和 AJP Connector。

並且,在目標應用有文件上傳功能的情況下,配合文件包含的利用還可以達到遠程代碼執行的危害。

影響過去 13 年所有 Apache Tomcat 版本

眾所周知, Java 是目前 Web 開發中最主流的編程語言,而 Tomcat 是當前最流行的 Java 中間件服務器之一,從初版發佈到現在已有二十多年曆史,在世界範圍內被廣泛使用。

據長亭科技官方介紹,這個漏洞影響全版本默認配置下的 Tomcat(已確認影響 Tomcat 9/8/7/6 全版本),這意味著 Ghostcat 在 Tomcat 中潛伏十多年。

“通過 Ghostcat 漏洞,攻擊者可以讀取 Tomcat 所有 webapp 目錄下的任意文件。”長亭科技在博客上寫道。

此外,如果網站應用提供文件上傳的功能,攻擊者能先向服務端上傳一個內容含有惡意 JSP 腳本代碼的文件(上傳的文件本身可以是任意類型的文件,比如圖片、純文本文件等),然後利用 Ghostcat 漏洞進行文件包含,從而達到代碼執行的危害。

下列版本的 Tomcat 受 Ghostcat 漏洞影響:

  • Apache Tomcat 9.x < 9.0.31
  • Apache Tomcat 8.x < 8.5.51
  • Apache Tomcat 7.x < 7.0.100
  • Apache Tomcat 6.x

修復漏洞

長亭科技提示:對於處在漏洞影響版本範圍內的 Tomcat 而言,若其開啟 AJP Connector 且攻擊者能夠訪問 AJP Connector 服務端口的情況下,即存在被 Ghostcat 漏洞利用的風險。

並且,Tomcat AJP Connector 默認配置下即為開啟狀態,且監聽在 0.0.0.0:8009。

要正確修復 Ghostcat 漏洞,首先要確定服務器環境中是否有用到 Tomcat AJP 協議:

  • 如果未使用集群或反向代理,則基本上可以確定沒有用到 AJP;
  • 如果使用了集群或反向代理,則需要看集群或反代服務器是否與 Tomcat 服務器 AJP 進行通信

早在 1 月初,長亭科技向 Apache Tomcat 官方提交漏洞。

目前,Tomcat 官方已經發布 9.0.31、8.5.51 及 7.0.100 版本針對此漏洞進行修復。因此,建議 Tomcat 用戶儘快升級到最新版本。



分享到:


相關文章: