安全研究人员已经证明,恶意电子表格可以使 LibreOffice 和 Apache OpenOffice 在文件打开后立即运行攻击者的代码。没有任何警告,类似于这两个程序在运行宏之前所显示的警告。
该攻击仅在程序的 Java 支持启用时有效。到目前为止,它仅作为概念验证被展示,并没有报告其在真实攻击中的使用。
LibreOffice 已经修复了该漏洞,追踪编号为 CVE-2026-63277,在 10 月 5 日发布的更新中。它建议用户升级到版本 26.2.5 或 26.8.0。之前的版本均受到影响。
Apache OpenOffice 尚未修复相应的漏洞,追踪编号为 CVE-2026-59265。所有版本,包括当前版本 4.1.16,均受到影响,项目表示预计在 4.1.17 版本中修复该漏洞,目前仍在测试中。
在此之前,Apache OpenOffice 用户可以通过在程序设置中关闭 Java,或不打开他们不信任的电子表格来阻止攻击。
该攻击结合了各自独立有效的功能。LibreOffice 或 Apache OpenOffice Calc 电子表格可以包含一个“数据库范围”,这是一个从外部来源提取数据并自动刷新其内容的单元格块。该外部来源可以是一个单独的数据库文件,称为 ODB,其名称由写入电子表格的网页地址指定。
当电子表格被打开时,该范围会刷新,程序从该网页地址下载 ODB。该 ODB 可以指定一个 Java 数据库驱动程序,称为 JDBC 驱动程序,并指向驱动程序代码所在的位置,这可以是一个 JAR 文件、一组 Java 代码,或在远程服务器上。然后程序下载该 JAR 并在程序内部启动驱动程序,这就是攻击者的代码。
这些都是正常的功能。研究人员表示,安全问题在于,它们结合在一起时可以实现代码执行,而无需询问用户是否信任该文档,就像程序在运行宏之前所询问的那样。
在概念验证中,驱动程序只是打开计算器应用程序,这是一个无害的占位符,但同样的路径可以运行攻击者选择的任何 Java 代码。研究人员在 Windows 和 Linux 上测试了该攻击,并表示它与特定操作系统无关。
在他们的演示中,恶意文件出于方便而放置在同一台机器上。研究人员表示,真正的攻击将把数据库文件和代码放在攻击者控制的服务器上。
LibreOffice 的漏洞由 V12 安全团队的 Rick de Jager 和 Codean Labs 的 Thomas Rinsma 和 Edoardo Geraci 独立报告。Apache 对 OpenOffice 中的相应漏洞给予了 Codean Labs 的致谢。V12 团队已为这两个程序发布了概念验证,Collabora Productivity 的 Caolán McNamara 编写了 LibreOffice 的修复程序。
《黑客新闻》已联系开发 LibreOffice 的文档基金会和 Apache OpenOffice 项目以获取评论。
觉得这篇文章有趣吗?请在 Google 新闻、Twitter 和 LinkedIn 上关注我们,以阅读更多我们发布的独家内容。