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