abraxaslabs.tech · github.com/abraxas · @abraxas_null · CVE-2026-87796
Multi Uploader for Gravity Forms 1.1.9 — sh1zen
WordPress 的 Multi Uploader for Gravity Forms 插件在所有版本(包括 1.1.9)中,通过 move_file 函数存在任意文件上传漏洞。这是由于在处理分块上传时文件类型验证不足所致。这使得未经身份验证的攻击者可以在受影响站点的服务器上上传任意文件,从而可能导致远程代码执行。
| CVE | CVE-2026-87796 · CVE.org |
| CWE | CWE-434 |
| CVSS | 严重:9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| 产品 | Multi Uploader for Gravity Forms |
| 受影响 | 所有版本 至 1.1.9(含) |
| 已修补 | 厂商补丁 — 见参考 |
| 认证 | 无(见源码映射) |
| 实验环境 | 仅 127.0.0.1 · 厂商/客户披露包,非扫描器 |
公告中提到了 move_file。这是一个私有 PHP 方法,而非 HTTP action=。HTTP action 是 gfmu-plupload-submit。分块与非分块取决于 REQUEST[chunks]>1。PHP 函数名不是 admin-ajax 的 action=。
POST/wp-admin/admin-ajax.phpPOST /wp-admin/admin-ajax.php action=gfmu-plupload-submit (nopriv, GFMUAddon.class.php:125)GFMUHandlePluploader::plupload_ajax_submit nonce gfmu-upload-nonce (GFMUHandlePluploader.class.php:257-262)GFMU_FileUploader::handleUpload chunks>1 (GFMU_FileUploader.php:231-319)move_file copy then unlink tmp (GFMU_FileUploader.php:319, 545-560)validateUploadedFile only AFTER the file is already at $target (322) — unlike non-chunked which validates first (375)GET /wp-content/uploads/gfmu-uploads-tmp/<name> for POC_WITNESS_87796对上传文件进行 HTTP GET 返回唯一字符串 POC_WITNESS_87796。JSON result=success 加上该 GET 即为成功。主题 HTML、admin-ajax 0 或 Server error。nonce 失败不算。
首先执行: 应用 Multi Uploader for Gravity Forms 的厂商补丁。见参考。
升级后验证
CVE-2026-87796-Abraxas-Labs.py:映射的见证必须不出现。如果无法立即更新
仅针对 http://127.0.0.1:8088(或你绑定的回环地址)。不要将此脚本指向互联网。
python3 CVE-2026-87796-Abraxas-Labs.py
成功是响应体中出现上述见证。通用的 200 HTML 不算。
用于复现的回环栈。除非此文件夹中的 Dockerfile 从源码构建,否则使用官方镜像。
cd lab
docker compose up --force-recreate
如果 YAML 挂载了本地目录(来自版本表的插件 zip / 源码标签),请将易受攻击的产品树绑定到 Compose 旁边。除 127.0.0.1 外不要发布任何内容。
plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/GFMUAddon.class.php#L125
plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L319
plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L322
plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L560
www.wordfence.com/threat-intel/vulnerabilities/id/47337bc1-fa3d-470c-9524-859295261017?source=cve
插件目录:gf-multi-uploader
Abraxas Labs:abraxaslabs.tech · github.com/abraxas · @abraxas_null
# CVE-2026-87796 (structured records)
- input: `https://nvd.nist.gov/vuln/detail/CVE-2026-87796`
- CWE: CWE-434
- published: 2026-09-17T05:17:02.123
## NVD description
The Multi Uploader for Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 1.1.9 via the move_file function. This is due to insufficient file type validation during chunked upload handling. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.
## MITRE description
The Multi Uploader for Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 1.1.9 via the move_file function. This is due to insufficient file type validation during chunked upload handling. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.
## Affected
- sh1zen Multi Uploader for Gravity Forms 0 affected
## References (JSON sources only)
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/GFMUAddon.class.php#L125
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMUHandlePluploader.class.php#L257
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L319
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L322
- https://plugins.trac.wordpress.org/browser/gf-multi-uploader/tags/1.1.9/inc/GFMU_FileUploader.php#L560
- https://www.wordfence.com/threat-intel/vulnerabilities/id/47337bc1-fa3d-470c-9524-859295261017?source=cve
- https://github.com/advisories/GHSA-h7vp-g8q2-89c8
- https://nvd.nist.gov/vuln/detail/CVE-2026-87796
## GitHub advisory
The Multi Uploader for Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload...
The Multi Uploader for Gravity Forms plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 1.1.9 via the move_file function. This is due to insufficient file type validation during chunked upload handling. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.
此包面向厂商、站点所有者及授权实验室。该脚本仅与 127.0.0.1 通信。将其用于你并不拥有的系统未经 Abraxas Labs 授权。不提供任何担保。