# Gravity Forms 2.9.21.1 未授权文件上传漏洞
## 概述
Gravity Forms 是一个流行的 WordPress 表单插件,其在所有版本 **2.9.21.1 及之前**中存在任意文件上传漏洞。
## 影响版本
- Gravity Forms <= 2.9.21.1
## 漏洞细节
插件中使用的**旧版分块上传机制(legacy chunked upload mechanism)**缺乏足够的文件类型验证。攻击者可利用该机制上传 `.phar` 文件,因为插件的扩展名黑名单未包含 `.phar`。
## 漏洞影响
- 攻击者**无需身份验证**即可上传可执行的 `.phar` 文件。
- 如果服务器配置为将 `.phar` 文件作为 PHP 执行(例如通过文件处理程序映射),攻击者可**实现远程代码执行(RCE)**。
- 成功攻击需满足:
1. 攻击者能发现或枚举上传路径;
2. Web 服务器配置为处理 `.phar` 文件为 PHP。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Gravity Forms <= 2.9.21.1 - Unauthenticated Arbitrary File Upload via Legacy Chunked Upload -- 🔗来源链接
标签:
神龙速读:
### 关键漏洞信息
- **CVE**: CVE-2025-12974
- **CVSS Score**: 8.1 (High)
- **公开日期**: 2025年11月17日
- **最后更新**: 2025年11月18日
- **研究员**: Talal Nasraddeen
#### 描述
- **软件类型**: 插件
- **软件Slug**: gravityforms
- **已修复?**: 是
- **修复措施**: 升级到版本2.9.22,或更新的已修复版本
- **受影响版本**: <= 2.9.21.1
- **已修复版本**: 2.9.22
#### 引用
- [github.com](https://github.com)
- [github.com](https://github.com)
- [docs.gravityforms.com](https://docs.gravityforms.com)
标题: gravityforms/includes/upload.php at 06de1b7e169e4f073e9d0d491e17b89365b48c20 · pronamic/gravityforms · GitHub -- 🔗来源链接
标签:
神龙速读:
从截图和代码中,我们可以提取到以下关于漏洞的关键信息:
- **文件名和代码上下文**:`upload.php` 文件属于 `gravityforms` 插件的一部分,这表明问题可能与文件上传机制相关。
- **表单ID验证缺失的风险**:代码中存在对表单ID(`form_id`)的验证,但如果请求中未包含有效的表单ID,它会返回一个错误(代码行 36-41)。然而,若验证逻辑存在绕过方式,攻击者可能能够绕过这部分检查,导致未经授权的文件上传。
- **文件扩展名检查**:虽然代码检查了文件是否具有不允许的扩展名(代码行 285-288),但是,若在此过程中存在漏洞,例如通过某种手段绕过扩展名检查或利用弱校验机制,可能允许上传恶意文件。
- **文件存储和清理机制**:在代码的后半部分,有文件存储和临时文件清理的逻辑(大约从代码行 414 开始)。如果该步骤执行不当,可能导致在服务器上残留临时文件,造成潜在的威胁。
这些关键信息指向了几个可能的攻击面,其中主要关注点在于文件上传验证机制是否完备,是否可能被绕过,以及文件处理和清理步骤是否有漏洞存在。
标题: File not found · GitHub -- 🔗来源链接
标签:
神龙速读:
### 关键信息
- **项目名称**: Gravityforms
- **仓库状态**: Public
- **显示信息**:
- `404 - page not found`
- `The 06de1b7e169e4f073e9d0d491e17b89365b48c20 branch of Gravityforms does not contain the path common/common.php.`
- **文件结构**(部分显示):
- `.github`
- `assets`
- `css`
- `fonts`
- `images`
- `includes`
- `js`
- `languages`
- `legacy`
- `change_log.txt`
- `common.php`
- `composer.json`
- `currency.php`
- `entry_detail.php`
- And more...
- **分支**: 06de1b7e169e4f073e9d0d491e17b89365b48c20 (疑似错误链接导致的404)
**可能的漏洞关键点**:
- 工程访问路径和文件结构暴露,可能提供给攻击者结构化信息以便进一步分析。
- 404错误页面提示了仓库的特定分支和路径,可能为渗透测试者提供了文件和目录的内部命名习惯。
标题: gravityforms.com | 500: Internal server error -- 🔗来源链接
标签:
神龙速读:
## 关键漏洞信息
- **错误代码**: 500
- **错误描述**: Internal Server Error
- **发生时间**: 2025-11-18 12:05:06 UTC
- **受影响的组件**:
- 你 -> 浏览器: 正常工作
- 阿姆斯特丹 -> Cloudflare: 错误
- docs.gravityforms.com -> 主机: 正常工作
- **问题原因**: Cloudflare的网络上存在内部服务器错误
- **Cloudflare Ray ID**: 9a07558cf8ddfc21
暂无评论