Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-87796 — CVE-2026-87796 的复现包和 PoC 脚本,这是 Multi Uploader for Gravity Forms <= 1.1.9 中一个未经身份验证的任意文件上传 RCE 漏洞,附带一个回环 Docker 实验环境。 | Kitploit
工具/GitHubGitHub/abraxas/cve-2026-87796
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试论文与研究学习与教育Payload 开发实验室与实践
GitHubabraxas/cve-2026-87796

CVE-2026-87796

CVE-2026-87796 的复现包和 PoC 脚本,这是 Multi Uploader for Gravity Forms <= 1.1.9 中一个未经身份验证的任意文件上传 RCE 漏洞,附带一个回环 Docker 实验环境。

4小时30分前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
分享

Abraxas Labs — CVE-2026-87796

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  CVE-2026-87796

CVE-2026-87796

Multi Uploader for Gravity Forms 1.1.9 — sh1zen

WordPress 的 Multi Uploader for Gravity Forms 插件在所有版本(包括 1.1.9)中,通过 move_file 函数存在任意文件上传漏洞。这是由于在处理分块上传时文件类型验证不足所致。这使得未经身份验证的攻击者可以在受影响站点的服务器上上传任意文件,从而可能导致远程代码执行。

CVECVE-2026-87796 · CVE.org
CWECWE-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.php
  • 路由: wp_ajax_nopriv_gfmu-plupload-submit → GFMUHandlePluploader::plupload_ajax_submit。Nonce 字段为 REQUEST[nonce],用于 action gfmu-upload-nonce。不要臆造不同的 ajax action。
  • 备注: CVE-2026-87796:分块 handleUpload(REQUEST chunks>1)在 validateUploadedFile 之前使用 move_file 复制组装后的文件。非分块则先验证。如果没有该字段,enable_chunked 为 false,且 toBytes(ini 2M) < sizeLimit 10mb 会在任何写入之前返回 'try activate chunking'。实验环境桩 RGFormsModel::get_field 返回一个 chunk_size=2mb 的多上传字段,因此该检查被跳过。发送 currentFormID=1 和 currentFieldID=1。从页面 slug gfmu-lab-nonce 发现 nonce。见证 GET /wp-content/uploads/gfmu-uploads-tmp/poc_witness.php 包含 POC_WITNESS_87796(GIF89a + echo,不是 shell)。两次分块 POST 然后 GET。

调用链

  • POST /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&gt;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/&lt;name&gt; for POC_WITNESS_87796

实验环境前提条件

  • 启用 gf-multi-uploader 1.1.9 的 WordPress
  • 实验环境 GF 桩 mu-plugin,使 GFForms 存在且 nopriv AJAX 注册
  • 公共页面 slug gfmu-lab-nonce,带有 GFMU_NONCE= 用于 uid 0
  • 不要传递 currentFormID(没有真实的 Gravity Forms 表单)

见证

对上传文件进行 HTTP GET 返回唯一字符串 POC_WITNESS_87796。JSON result=success 加上该 GET 即为成功。主题 HTML、admin-ajax 0 或 Server error。nonce 失败不算。

非成功

  • 通用的 200 hello world HTML
  • admin-ajax 400 响应体为 0
  • result error / Server error. nonce
  • 无效扩展名但没有仍能 GET 到见证的文件
  • 反弹 shell 或出站连接
  • 上传允许的 jpg/png,而非任意类型接收点

补丁 / 修复

首先执行: 应用 Multi Uploader for Gravity Forms 的厂商补丁。见参考。

升级后验证

  • 针对已修补的构建重新运行 CVE-2026-87796-Abraxas-Labs.py:映射的见证必须不出现。
  • 确认部署树中的厂商公告 / 变更集(见参考)。
  • WAF 签名是延迟,不是补丁。

如果无法立即更新

  • 禁用或隔离受影响的组件。
  • 在生产环境中搜寻见证条件(新的特权用户、意外文件、注入的行 — 即此 CVE 映射所命名的任何内容)。

复现(授权实验环境)

仅针对 http://127.0.0.1:8088(或你绑定的回环地址)。不要将此脚本指向互联网。

root@kitploit:~
python3 CVE-2026-87796-Abraxas-Labs.py

成功是响应体中出现上述见证。通用的 200 HTML 不算。


实验环境镜像

用于复现的回环栈。除非此文件夹中的 Dockerfile 从源码构建,否则使用官方镜像。

  • lab/docker-compose.yml
  • lab/docker-compose.override.yml
  • lab/Dockerfile
root@kitploit:~
cd lab
docker compose up --force-recreate

如果 YAML 挂载了本地目录(来自版本表的插件 zip / 源码标签),请将易受攻击的产品树绑定到 Compose 旁边。除 127.0.0.1 外不要发布任何内容。


参考

  • CVE-2026-87796 · NVD

  • CVE-2026-87796 · CVE.org

  • 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/GFMUHandlePluploader.class.php#L257

  • 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

  • github.com/advisories/GHSA-h7vp-g8q2-89c8

  • nvd.nist.gov/vuln/detail/CVE-2026-87796

  • 插件目录:gf-multi-uploader

  • Trac 浏览器:plugins.trac.wordpress.org/gf-multi-uploader

  • SVN 标签:plugins.svn.wordpress.org/gf-multi-uploader

  • Abraxas Labs:abraxaslabs.tech · github.com/abraxas · @abraxas_null


记录(结构化)

root@kitploit:~
# 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 授权。不提供任何担保。

abraxaslabs.tech · github.com/abraxas · @abraxas_null

下载工具