香港安全通知 PPOM SQL 注入(CVE202511691)

WordPress PPOM – WooCommerce 插件的产品附加组件和自定义字段





Urgent: PPOM for WooCommerce (<= 33.0.15) — Unauthenticated SQL Injection (CVE-2025-11691) — What Site Owners Must Do Now


插件名称 WooCommerce 的 PPOM
漏洞类型 SQL 注入
CVE 编号 CVE-2025-11691
紧急程度
CVE 发布日期 2025-10-18
来源网址 CVE-2025-11691

紧急:WooCommerce 的 PPOM (<= 33.0.15) — 未经身份验证的 SQL 注入 (CVE-2025-11691)

日期:2025年10月18日   |   严重性:高 — CVSS 9.3   |   受影响:PPOM for WooCommerce 插件版本 ≤ 33.0.15   |   修复于:33.0.16   |   CVE:CVE-2025-11691

作为香港的安全专家,我们为网站所有者和管理员提供简明的技术简报和务实的检查清单。这是一个在广泛使用的 WooCommerce 产品附加组件/自定义字段插件中的未经身份验证的 SQL 注入。由于该漏洞可以通过未经身份验证的请求触发,暴露风险严重:攻击者可以读取或修改数据库内容,创建管理账户,泄露敏感数据,或完全接管网站。.


摘要(快速)

  • 什么:PPOM for WooCommerce 中的未认证 SQL 注入 (≤ 33.0.15) — CVE-2025-11691。.
  • 重要性:SQLi 可能允许攻击者读取、修改或删除数据库中的数据,可能导致网站被攻陷和数据被盗。.
  • 行动:立即将 PPOM 更新至 33.0.16。如果无法更新,请应用以下临时缓解措施。.
  • 检测:查找对插件端点或 /wp-admin/admin-ajax.php 的可疑请求,带有异常参数、SQL 错误条目和意外的数据库更改。.

发生了什么 — 技术背景

该插件接受用户提供的输入,并在数据库查询中使用这些输入,而没有适当的清理或预处理语句。由于访问易受攻击的代码路径不需要身份验证,远程攻击者可以构造请求以注入 SQL 负载。.

未经身份验证的 SQLi 的典型影响包括:

  • 从 WordPress 数据库中读取任意行(用户、订单、私密内容)。.
  • 修改或删除记录(订单、产品数据、用户)。.
  • 创建新的管理员用户(持久性网站接管)。.
  • 注入持久性恶意内容(后门、重定向)。.
  • 提取凭据和其他敏感数据以供其他地方重用。.

不要依赖模糊性 — 快速修补。.

  1. 现在更新插件(如果可能的话)
    • 将 PPOM for WooCommerce 升级到版本 33.0.16 或更高。这是最有效的修复措施。.
  2. 如果您无法立即更新 — 应用临时缓解措施
    • 强制执行 WAF/边缘规则(请参见下面提议的签名)。.
    • 在修补之前,阻止来自未认证客户端的已知插件路径和 AJAX 操作的请求。.
    • 如果可行,暂时限制来自可疑 IP、国家或用户代理的访问。.
  3. 进行备份(文件 + 数据库)
    • 现在创建一个离线快照(在进行更改之前)并安全存储以便于事件调查和恢复。.
  4. 检查日志和网站完整性
    • 审查 web 服务器访问日志、PHP 和数据库错误日志,寻找针对插件文件或 admin-ajax.php 的可疑请求,尤其是带有异常参数的请求。.
    • 扫描新的管理员用户、已更改的插件/主题文件、新的计划任务(wp-cron)和意外的数据库更改。.
  5. 如果发现可疑活动,重置凭据并轮换密钥。
    • 如果存在利用指标,轮换管理员密码、API 密钥和数据库凭据。.
  6. 运行完整的网站恶意软件扫描
    • 使用信誉良好的恶意软件扫描器检测修改过的 PHP 文件、混淆代码或后门。检查上传和缓存目录。.
  7. 如果怀疑被攻破,请启动事件响应。
    • 如果发现利用证据(新的管理员用户、可疑的 SQL 日志、webshell),请寻求专业的事件响应和取证分析。.

攻击者可能如何利用此漏洞(攻击向量和指标)

由于该漏洞是未认证的,因此可以通过 HTTP(s) 进行利用。常见模式包括:

  • 制作针对公共插件端点或/wp-admin/admin-ajax.php的GET/POST请求,带有引用插件的action参数,在输入字段中嵌入SQL控制字符或语句。.
  • 通过探测SQL错误来确认注入(基于错误或基于时间的技术)。.
  • 使用UNION或布尔/基于时间的查询在抑制错误消息时分块提取数据。.
  • 在多个站点上进行自动化大规模扫描和有效载荷投递。.

利用的指标:

  • 访问日志中引用插件文件路径或admin-ajax.php的异常请求,带有可疑参数。.
  • 日志中出现意外的SQL错误。.
  • 来自多个来源的请求激增。.
  • 新的管理员用户或修改的用户角色。.
  • 对帖子、页面、插件文件或上传/根目录中新文件的意外修改。.
  • 奇怪的数据库行(内容列中包含SQL片段或编码有效载荷)。.

如何检测:日志搜索和要运行的查询

在日志中搜索(Web服务器、WordPress调试、数据库)这些模式:

访问日志

  • 对插件路径的请求,如/wp-content/plugins/woocommerce-product-addon/(路径可能有所不同)。.
  • 对 /wp-admin/admin-ajax.php 的请求,查询参数包含插件操作或可疑字符串(检查 action=… 参考 ppom、product_addon 等)。.
  • 包含 SQL 关键字的 GET/POST 值:UNION, SELECT, SLEEP(, OR 1=1, –, /*, xp_。.

数据库日志

  • 异常或失败的SQL语句,或与可疑Web请求同时出现的频繁新连接。.
  • 包含有效载荷模式或返回错误的查询。.

WordPress检查

  • 检查 wp_users 中的新管理员账户。示例:SELECT user_login, user_email, user_registered FROM wp_users WHERE user_registered >= ‘2025-10-01’ ORDER BY user_registered DESC;
  • 检查 wp_options 中的恶意自动加载条目:SELECT option_name FROM wp_options WHERE option_name LIKE ‘%ppom%’ OR option_value LIKE ‘%