文章总结: CVE-2026-18143是WordPressRequestaQuoteforWooCommerce插件(≤2.9.2)的未认证任意文件上传漏洞,CVSS9.8,无补丁且插件已下架。攻击者可上传PHPWebshell至Web可访问目录实现远程代码执行。建议立即停用插件,关闭popup上传入口,配置Nginx规则禁止上传目录执行PHP,并排查失陷迹象。
综合评分: 88
文章分类: 漏洞分析,WEB安全,漏洞预警,红队
(9.8分) CVE-2026-18143:WordPress报价插件未认证任意文件上传
红队安全圈
红队安全圈
红队安全圈
2026年9月26日 20:00
重庆
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
一个 WooCommerce 报价插件的上传接口没做任何文件校验,未认证攻击者可以直接把 PHP 文件写进 Web 可访问目录——CVSS 9.8,而且目前没有补丁。
今天这条 CVE-2026-18143 关注度还很低,但利用价值不低。Request a Quote for WooCommerce(Addify 出品的询价报价插件)所有版本 ≤ 2.9.2 存在未认证任意文件上传:popup 上传处理函数 afrfq_submit_quote_via_popup() 完全不校验文件扩展名和 MIME 类型,直接拿攻击者传入的原始文件名当 move_uploaded_file() 的目标路径。条件齐备时,任何没有账号的人都能把可执行文件(比如 PHP Webshell)传到一个 Web 可访问的临时 RFQ 上传目录。CVSS 3.1 评分 9.8(CRITICAL),向量 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H。
01 漏洞速览
漏洞编号CVE-2026-18143
影响产品Request a Quote for WooCommerce
影响版本≤ 2.9.2(全部版本)
漏洞类型未认证任意文件上传(CWE-434)
危害等级CVSS 9.8 CRITICAL
攻击前提无需账号;需开公开报价+popup流程
修复状态暂无补丁,插件已下架
02 漏洞成因
问题出在 popup 上传这条链路上。afrfq_submit_quote_via_popup() 处理询价弹窗的文件上传时:
1. 不校验扩展名:没有白名单限制 .jpg/.png 这类安全格式,.php 直接放行;
2. 不校验 MIME 类型:Content-Type 完全不检查;
3. 原始文件名直接落盘:攻击者上传的文件名(包括扩展名)原样用作 move_uploaded_file() 的目标路径,没有重命名、没有清洗。
三者叠加,攻击者上传 shell.php 时,PHP 文件被原样写入一个 Web 可直接访问的临时 RFQ 上传目录。目录本身 Web 可访问,意味着文件落盘后立刻可以请求执行——拿到 Webshell 只是多一次 HTTP 请求的事。
触发条件只有一个:站点启用了公开报价规则(public quote rule)并开启多页 popup 流程。这种配置对把报价插件当公开询价入口用的 B2B 站来说非常常见。
03 影响范围
受影响:所有版本 ≤ 2.9.2,即当前所有已发布版本。
已修复:无。官方尚未发布任何补丁版本。
一个值得注意的信号:插件目录当前只剩 trunk 里的少量文件,tags 目录为空——插件已从 WordPress 官方插件库整体下架。这类下架通常意味着问题严重且修复遥遥无期,装着的站点不能等更新。
04 危害推演
目前没有公开的成熟 PoC,但从披露的成因可以把攻击路径完整推出来:
-
定位使用了该插件的 WooCommerce 站点(询价按钮特征明显);
-
确认站点开启了公开报价 + popup 流程(访问商品页看是否弹多页询价表单);
-
通过 popup 表单的文件上传字段提交 shell.php,MIME 伪装成图片即可;
-
文件落在 Web 可访问的临时 RFQ 上传目录,直接请求该 URL 触发执行;
-
后续就是标准的 WordPress 后渗透:翻 wp-config.php 拿数据库凭据、建立持久化。
危害等级 C:H/I:H/A:H 全拉满是准确的:Webshell 意味着服务器级完全失陷,不只是页面篡改。
05 检测与排查
确认插件及版本
curl -s https://你的站点/
wp-content/plugins/
woocommerce-request-a-quote/
readme.txt \
| grep -i “stable tag”
探测特征路径是否存在
curl -s -o /dev/null \
-w “%{http_code}” \
https://你的站点/wp-content/
plugins/
woocommerce-request-a-quote/
后台检查:WooCommerce → 报价规则设置,看是否存在启用状态的公开报价规则 + 多页 popup 流程。有,且版本 ≤ 2.9.2,即视为受影响。
同时检查临时 RFQ 上传目录里有没有异常 .php 文件——如果已经有,站点大概率已被打过,需要按失陷处理而不是只删文件。
06 修复建议
1. 没有补丁,最稳妥的处理是停用并卸载该插件,换用其他询价方案。
-
必须保留功能的站点:立即关闭所有公开报价规则的 popup 流程,砍掉未认证上传入口。
-
在 WAF / Nginx 层对该插件的 AJAX 上传接口加白名单,只放行图片扩展名,拒绝对上传目录的 PHP 执行:
Nginx:禁止上传目录执行 PHP
location ~* /uploads/
.*rfq.*.php$ {
deny all;
}
- 排查服务器上的新增 PHP 文件和异常访问日志,确认是否已被利用。
07 红队视角
利用门槛极低:AV:N/AC:L/PR:N/UI:N,无需账号、无需交互、curl 就能走完全流程。唯一变量是目标站点是否开启了 popup 流程,而这在真实 B2B 站里比例不低。
无补丁窗口期是最肥的阶段:从披露到官方出补丁之间的这段时间,全网所有装了这个插件的站点都是软柿子。NVD 上这条记录刚发布、关注度还低,自动化扫描器批量铺开只是时间问题。
横向价值:WordPress 插件生态里文件上传类的通病就是只信前端。审计同类插件时优先看三个点:move_uploaded_file() 的目标路径是否用了用户可控文件名、扩展名白名单是否存在、上传目录是否 Web 可执行。三个条件凑齐基本就是一个 9 分洞。
对防御方:如果客户环境里有这个插件,不要等官方更新——按上面第 06 节的 Nginx 规则先止血,再规划替换方案。
一句话总结:无补丁的 9.8 未认证 RCE 前置,装了这个插件的站点今天就该下架它,而不是等更新。
08 POC 链接
暂无公开成熟 PoC,以下为漏洞库详情页:
https://www.wordfence.com/threat-intel/vulnerabilities/id/3417ec27-6abf-45c7-945f-6ef456ba1187
https://nvd.nist.gov/vuln/detail/CVE-2026-18143
说明:Wordfence 漏洞库 / NVD 详情页
如果文章对您有收获,欢迎关注、点赞、推荐、转发。
— END —
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:红队安全圈 红队安全圈
红队安全圈《(9.8分) CVE-2026-18143:WordPress报价插件未认证任意文件上传》