資安雷達 2026 年 10 月 3 日

2026-10-03 — OpenOffice 4.1.16 以前開惡意文件可執行任意程式碼

primary=https://www.openwall.com/lists/oss-security/2026/10/02/2 primary=https://github.com/apache/openoffice/commit/95923fd437e06edd38a4f0e139a27c755a6f3ba6.patch primary=https://github.com/apache/openoffice/commit/c699bed3f75e79bd64ddec9dec49f9e210eed281.patch

OpenOffice 4.1.16 以前開惡意文件可執行任意程式碼

oss-security(openwall) · 2026-10-02

Apache OpenOffice 的 Java 整合元件,在開啟特製文件時沒有擋下不該載入的路徑,使打開一份文件就可能被執行任意程式碼,包含遠端程式碼執行。advisory 編號為 CVE-2026-59265,嚴重度標為 Critical,影響到 4.1.16(含)為止的所有版本。

advisory 由 Apache OpenOffice 專案的 Dave Fisher 於 2026 年 10 月 2 日發出,發現者是 Codean Labs 的 Thomas Rinsma、Edoardo Geraci,以及 Rick de Jager。修補版 4.1.17 在 advisory 發出時仍是 release candidate,尚未正式釋出。

漏洞機制

advisory 只用一句話描述成因:Java 整合元件存在 code execution 缺陷,惡意文件可觸發。它沒有公布完整的利用鏈,也沒有列 CVSS 分數,只標示 Critical。

能對照的線索是 advisory 引用的兩個修補 commit。95923fd(commit 日期 2026 年 7 月 3 日,標題「Reject further invalid URLs」)改的是 main/jvmaccess/source/classpath.cxx,新增 30 行:處理 classpath 時,只放行 file:、jrt:、jmod: 開頭的 URL,其餘直接 continue 略過。

bool isLocalClassPathUrl(::rtl::OUString const & url)
{
    return url.matchIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("file:"))
        || url.matchIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("jrt:"))
        || url.matchIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("jmod:"));
}
// 處理 classpath 時:if (!isLocalClassPathUrl(url)) { continue; }

換句話說,修補前的 JVM classpath 處理會接受非本機的 URL scheme。這是從 commit 內容推得的方向,advisory 本身未說明這個 commit 與攻擊文件之間的完整關係。

另一個 commit:Calc 資料庫匯入

c699bed(日期 2026 年 7 月 18 日,標題「Additional check」,cherry-pick 自 040baae)改 main/sc/source/ui/docshell/dbdocimp.cxx,新增 10 行。資料庫匯入的來源名稱若解析成有效的 URL,就先向文件的 XLinkAuthorizer 詢問 authorizeLinks,沒被授權就不繼續。

這代表文件內嵌的外部連結在這個版本以前可以不經詢問就被 Calc 的匯入流程使用。advisory 只把它列為參考,沒有說明它是哪一段攻擊路徑的修補。

受影響版本

  • Apache OpenOffice 4.1.16 以前(含 4.1.16)
  • 尚未包含 commit 95923fd437e06edd38a4f0e139a27c755a6f3ba6 的 build
  • 尚未包含 commit 181421139242694b309751fb666406eddc203c50 的 build

後兩項對自己從原始碼編譯、或使用發行版打包 snapshot 的人才有意義:確認 build 的 tree 是否已含這兩個 commit,而不是只看版本字串。

修補與緩解

正式修補在 4.1.17,advisory 發出時還在 release candidate 階段,釋出時程 advisory 未說明。釋出前 advisory 給的緩解有兩項:

  • 在 Preferences 對話框中停用 Java runtime 整合
  • 不要開啟來路不明的檔案

受影響的是桌面使用者,以及任何會自動開啟或轉檔外部文件的流程,例如以 headless 模式做文件預覽、轉 PDF 的伺服器或 CI。這類流程不會有人眼睛先看過檔案,應優先確認 Java 整合是否關閉、執行帳號是否為低權限。

一般情境下,在 4.1.17 釋出前,先在內部資產中找出還在使用 OpenOffice 的機器與轉檔服務,並照 advisory 關掉 Java 整合,是目前唯一有官方依據的做法。

原始來源:oss-security advisory、commit 95923fd、commit c699bed


End of article
0
Would love your thoughts, please comment.x
()
x