CVE-2025-12545Pixel Manager for WooCommerce是WordPress平台上一款广受欢迎的电商分析插件,用于跟踪转化率和整合Google Ads、TikTok等广告平台的追踪代码。该插件在所有版本直至1.49.2版本中存在一个严重的信息泄露漏洞。漏洞源于ajax_pmw_get_product_ids()函数对产品访问权限的验证不足。在WooCommerce系统中,产品可以设置为公开、受密码保护、私有或草稿状态,以控制不同用户群体的访问权限。然而,由于该AJAX端点缺少适当的访问控制检查,攻击者可以在无需任何认证的情况下,通过发送特制的HTTP请求来获取这些受保护产品的ID信息。这些信息可能包括尚未公开发布的新产品、内部SKU、价格策略等敏感商业数据。攻击者可以利用这些信息进行商业情报收集、竞争分析或规划进一步的攻击活动。该漏洞影响所有使用该插件的WordPress网站,且由于其无需认证的特性,攻击门槛极低,潜在危害范围广泛。
漏洞位于插件的ajax_pmw_get_product_ids()函数中,该函数通过WordPress的AJAX机制暴露了一个未授权访问的接口。问题核心在于函数缺少权限检查和访问控制逻辑。具体来说,该函数在处理产品ID查询请求时,没有验证请求者是否具有访问特定产品的权限。在WooCommerce中,受保护的产品通过post_status字段设置为'private'、'draft'或使用post_password字段设置密码保护。正常情况下,只有具有适当权限的用户才能通过WordPress核心API访问这些产品。然而,由于该AJAX端点直接调用get_posts()或类似函数且未应用适当的meta_query或post_status过滤限制,攻击者可以通过构造请求参数获取所有产品的ID列表,包括那些本应受保护的产品。攻击者只需要向wp-admin/admin-ajax.php发送一个POST请求,设置action参数为pmw_get_product_ids,即可在响应中获取产品的完整ID列表。这种设计缺陷使得任何访问者都能枚举网站的产品数据库,泄露商业敏感信息。