前言:AI 知識庫的阿基里斯腱
在 2025 年的企業 IT 架構中,Apache Tika 扮演著不可或缺的角色。它是大多數 AI 模型、搜尋引擎(如 Elasticsearch)與 RAG 系統背後的「文件解析引擎」,負責將 PDF、Word 轉換為機器可讀的文字。
然而,根據最新的資安盤點,仍有大量企業的內部系統運行著 Apache Tika 1.27 或更舊的版本。這些版本含有著名的 Text4Shell 漏洞,攻擊者只需上傳一個經過偽造的 PDF,即可在不需帳號密碼的情況下,取得伺服器的完整控制權。
技術解構:從「解析 PDF」到「執行指令」
這個漏洞的核心並非 Tika 的 PDFParser 寫壞了,而是源於其依賴的底層函式庫 Apache Commons Text 存在字串插值(String Interpolation)漏洞。
攻擊路徑分析
-
惡意輸入: 攻擊者製作一個惡意 PDF,並在檔案的 Metadata(如作者、標題)或嵌入式物件名稱中,插入惡意 Payload。
-
Payload 範例:
${script:javascript:java.lang.Runtime.getRuntime().exec('calc')}
-
-
觸發解析: 當 Tika (1.27 及以下) 呼叫
PDFParser讀取該檔案屬性時,會將這些字串傳遞給StringSubstitutor進行處理。 -
代碼執行: 由於舊版 Commons Text 預設啟用了腳本執行功能,該字串會被「解析並執行」,導致伺服器執行
Runtime.exec(),瞬間遭駭。
CVE 漏洞與風險摘要
請注意,以下是針對此攻擊手法的正確 CVE 編號,請檢查您的弱點掃描報告是否包含這些項目:
| CVE 編號 | 影響元件 | 嚴重度 (CVSS) | 說明 |
| CVE-2022-42889 | Apache Commons Text | 9.8 (Critical) | 俗稱 Text4Shell。允許透過不安全的字串替換功能執行任意程式碼。Tika 1.27 (含)以前版本受此影響。 |
| CVE-2018-1335 | Apache Tika Server | 9.8 (Critical) | 這是 Tika 自身的標頭命令注入漏洞,常與上述漏洞被混淆,同樣存在於舊版本中。 |
受影響環境與 AI 供應鏈風險
隨著 IDC 預測 2026 年企業 AI 投資將大幅增加,Tika 的安全性已從「文件管理問題」升級為「AI 基礎設施問題」。
-
RAG 系統風險: 攻擊者上傳惡意財報 PDF,不僅能毒化知識庫(Data Poisoning),還能直接控制向量資料庫伺服器。
-
雲端自動化流程: 許多 AWS Lambda 或 Azure Functions 使用舊版 Tika Jar 包處理上傳檔案,一旦觸發 RCE,可能導致雲端憑證外洩。
企業防禦策略:建立 PDF 上傳的「零信任」防線
針對 Tika 的 RCE 風險,建議採取以下縱深防禦措施:
1. 版本升級(最優先)
-
立即行動: 將 Apache Tika 升級至 2.9.0 或 3.0.0 以上版本。新版已移除對舊版 Commons Text 的依賴,並預設關閉了不安全的插值功能。
-
檢查相依性: 若無法升級 Tika,請強制將專案中的
commons-text函式庫升級至 1.10.0 以上。
2. 實作「沙箱」隔離層
不要在核心應用程式(如 Web Server)中直接運行 Tika。
-
容器化: 將 Tika Server 部署在獨立的 Docker 容器中,並限制該容器的網路權限(禁止外連 Internet)、以非 Root 權限運行。
-
專利參考: 參考業界慣用的隔離架構,將檔案解析作業卸載(Offload)至拋棄式環境執行。
3. 進階檔案驗證
單純檢查副檔名是不夠的。
-
HCL Domino / Mail Gateway 整合: 利用現有的企業郵件閘道器或 Domino 的檔案防護功能,先對 PDF 進行惡意特徵掃描,再送入 Tika 解析。
-
停用危險功能: 在 Tika 配置中,停用 OCR 或外部資源擷取功能,減少攻擊面。
4. 監控與入侵偵測 (EDR)
設定 SIEM 規則,監控 Java 進程(Tika 通常以 Java 運行):
-
警示指標: 當
java.exe或tika-server.jar衍生出cmd.exe,bash,curl,powershell等子進程時,應立即阻斷並告警。
MITRE ATT&CK 對應戰術
-
T1190 – Exploit Public-Facing Application (利用對外服務漏洞)
-
T1059 – Command and Scripting Interpreter (利用 Text4Shell 執行腳本)
-
T1204.002 – User Execution: Malicious File (上傳惡意 PDF 誘發解析)
結語
Apache Tika 的漏洞提醒我們,AI 系統的強大依賴於龐大的開源供應鏈。對於企業資安官而言,**「盤點並汰換舊版組件」**是比購買昂貴 AI 防火牆更基礎且重要的工作。請立即檢查您的 Maven/Gradle 相依性清單,確認 Tika 是否已更新至安全版本。
參考資料
-
註:本文針對已知歷史漏洞 CVE-2022-42889 進行分析,旨在警示舊版軟體之殘留風險。
🧠 本文由 DreamJ AI 技術新聞生成系統 自動撰寫與優化,
內容僅供技術研究與學習參考,實際環境請搭配官方公告與資安建議。








