CVE-2026-22850Koko Analytics是一款开源的WordPress网站分析插件。该插件在2.1.3版本之前存在严重的SQL注入漏洞,攻击者可以利用未转义的追踪端点参数注入恶意SQL语句,进而在管理员导入导出数据时执行任意SQL命令。未经认证的访问者可以向公开追踪端点提交任意的路径参数(pa)和引用来源参数(r),这些值会被原样存储到分析数据表中。当管理员导出数据时,这些存储的恶意值会被直接写入SQL INSERT语句而未进行转义处理。攻击者可以通过构造特殊的路径值如"),('999','x');DROP TABLE wp_users;--"来突破SQL语句结构。更为严重的是,数据导入功能仅进行了肤浅的头部检查后便通过$wpdb->query直接执行每条SQL语句,完全没有验证表名或语句类型。此外,任何拥有manage_koko_analytics权限的认证用户都可以上传任意.sql文件并以同样宽松的方式执行。这些漏洞组合起来使得攻击者可以实现任意SQL执行,最终可能导致删除核心数据表、插入后门管理员账户等严重后果。
漏洞存在于Koko Analytics插件的多个组件中。首先,追踪端点src/Resources/functions/collect.php直接接收并存储用户提交的pa(path)和r(referrer)参数,完全未进行任何过滤或转义。这些污染数据随后被src/Admin/Data_Export.php的导出逻辑使用,在构建SQL INSERT语句时直接将存储的值拼接到语句中而未进行转义处理。攻击者可通过构造特殊载荷如"),('999','x');DROP TABLE wp_users;--"来破坏SQL语句结构,实现SQL注入。在导入环节,src/Admin/Data_Import.php使用file_get_contents读取上传的SQL文件,仅进行简单的头部检查(如验证文件开头是否为-- Koko Analytics),然后按分号分割并通过$wpdb->query逐条执行,完全缺少对表名和语句类型的验证。此外,任何具有manage_koko_analytics权限的认证用户都可直接上传恶意.sql文件触发执行。攻击链的核心在于:未认证输入→数据库存储→导出文件污染→导入时执行,最终实现任意SQL命令执行。