天下漏洞,尽知其名
MEDIUM 重点关注

CVE-2026-107803 ProcessMaker 任务接口 SQL 注入漏洞

影响认证用户可注入 SQL 并盲注提取数据库数据

AI 研判

ProcessMaker 是开源工作流管理软件套件。其 2026.14.3 之前版本的 GET /api/1.0/tasks 接口在处理 order_by 参数时,将用户可控的列名直接拼接进 DB::raw() 子查询,未做校验或参数绑定,导致 SQL 注入。攻击者可利用基于时间的盲注推断并窃取数据库账号可访问的数据。

影响范围

ProcessMaker

ProcessMaker 2026.14.3 之前的版本受影响,官方已在 2026.14.3 中修复。

漏洞详情

漏洞类型为 SQL 注入,成因是 TaskControllerIndexMethods::applyColumnOrdering() 把 order_by 参数中的 process_requests 列名未经校验直接拼入 DB::raw() 构造的 SQL 子查询。任何已认证用户均可通过构造恶意 order_by 值注入 SQL 语句,并借助基于时间的盲注逐位推断数据。

利用条件与风险

利用前提是攻击者拥有一个有效登录账号,属于认证后漏洞;成功利用可读取 ProcessMaker 数据库账号权限范围内的数据,存在数据泄露风险。

修复建议

升级至 ProcessMaker 2026.14.3 或更高版本;在无法升级时,可限制该接口访问权限并对 order_by 参数做白名单校验,但官方未提供其他临时缓解措施的公开信息。

原始情报

ProcessMaker is an open source workflow management software suite. Prior to 2026.14.3, the `GET /api/1.0/tasks` endpoint in ProcessMaker is vulnerable to SQL injection through the order_by parameter because `ProcessMakerTraitsTaskControllerIndexMethods::applyColumnOrdering()` concatenates a user-controlled process_requests column name into a DB::raw() SQL subquery without validation or parameter binding. Any authenticated user can use blind, time-based queries to infer and extract data accessible to the ProcessMaker database account. This issue is fixed in version 2026.14.3.