CVE-2026-12951 WordPress Dc Woocommerce Multi Vendor 插件 SQL 注入漏洞
影响具有供应商权限的攻击者可注入 SQL 语句窃取数据库敏感信息
WordPress 的 Dc Woocommerce Multi Vendor 插件在 /multivendorx/v1/compliance/report-abuse REST 接口的 order_by 参数上存在 SQL 注入漏洞。该参数被直接拼接进 ORDER BY 子句,且 esc_sql() 无法提供有效防护。攻击者可借此向原查询追加 SQL 语句,读取数据库中的敏感数据。
影响范围
漏洞详情
漏洞类型为 SQL 注入,成因是 order_by 参数未经充分转义即被拼接到 ORDER BY 子句中。esc_sql() 仅能中和用于突破字符串引号的字符,对 ORDER BY 子句中的注入无防护作用。拥有 edit_stores 能力的供应商级及以上认证用户可构造恶意 order_by 值,向现有查询追加额外 SQL 语句以提取敏感信息。
利用条件与风险
利用需具备供应商级及以上权限(拥有 edit_stores 能力)的认证账户,属于中危漏洞,实战中可被内部或低权限用户用于越权读取数据库数据。
修复建议
建议升级至 5.0.18 之后的修复版本;暂无公开信息说明具体修复版本号,临时缓解可限制供应商账户权限或对 order_by 参数实施白名单校验。
The Dc Woocommerce Multi Vendor plugin for WordPress is vulnerable to SQL Injection via the ‘order_by’ parameter of the /multivendorx/v1/compliance/report-abuse REST endpoint in versions up to and including 5.0.18. This is due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query — the value is concatenated directly into an ORDER BY clause where esc_sql() (which only neutralizes characters needed to break out of quoted string literals) provides no protection. This makes it possible for authenticated attackers, with vendor-level access and above (users granted the ‘edit_stores’ capability), to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.