OS Command Injection (RCE) via MAIN_ODT_AS_PDF configuration 漏洞概述 Dolibarr 存在远程代码执行(RCE)漏洞。当系统尝试将 ODT 文档转换为 PDF(例如在“商业提案”模块中)时,由于未正确验证或转义传递给 函数的命令路径,攻击者可以通过注入恶意载荷执行任意操作系统命令。 漏洞位于 约第 930 行。虽然文件名 使用了 进行转义,但配置变量 直接从数据库检索并拼接在命令字符串的开头。拥有管理员权限的攻击者可以设置该变量以包含命令分隔符(如 )后跟任意命令。 影响范围 受影响版本: 修复版本: CVSS 评分:9.4 / 10 (Critical) 攻击向量:网络 攻击复杂度:低 所需权限:管理员权限 修复方案 升级到版本 23.0 或更高版本。 POC / 利用代码 前置条件: 1. 以管理员身份登录。 2. 确保启用了“商业提案”模块并激活了“ODT 模板”。 利用步骤: 1. 在攻击者机器上启动 netcat 监听器(IP: 172.26.0.1, Port: 4445): 2. 准备载荷。为避免特殊字符被转义,将反向 shell 命令编码为 Base64: 3. 导航至 Home -> Setup -> Other Setup。 4. 添加或修改常量 ,使用以下注入载荷: (解释: 满足初始检查; 作为命令分隔符;管道解码并执行 Base64 载荷) 5. 导航至 Commerce -> New proposal,创建草稿,选择一个 ODT 模板(例如 ),点击 Generate。 6. 检查 netcat 监听器。将建立连接,并在服务器上获得 shell: