ywh-jfellus/CVE-2026-9082
GitHub: ywh-jfellus/CVE-2026-9082
该项目是针对 Drupal 核心 PostgreSQL 后端 SQL 注入漏洞(CVE-2026-9082)的概念验证工具,附带 Docker 一键复现环境。
Stars: 1 | Forks: 1
# CVE-2026-9082 / Drupal SA-CORE-2026-004 概念验证
## 概述
[CVE-2026-9082](https://nvd.nist.gov/vuln/detail/CVE-2026-9082)(Drupal [SA-CORE-2026-004](https://www.drupal.org/sa-core-2026-004))的概念验证(`poc.py`)。这是 Drupal 核心中存在的一个严重的 SQL 注入漏洞;当 Drupal 被配置为使用 PostgreSQL 数据库后端时,该漏洞可能允许攻击者提交任意 SQL 查询。
该漏洞源于 Drupal 核心的 PostgreSQL entity-query 条件转换器,在实体查询的 `IN` 过滤器中,攻击者可以操纵数组键来注入任意 SQL 片段。
此 PoC 与 Drupal 的 JSON:API 层进行交互,注入格式错误的 SQL 条件。在易受攻击的版本中,这会导致 HTTP 500 内部服务器错误;而已修复的版本能正确清理查询键并防止该异常发生。
## 漏洞信息
- **CVE ID:** CVE-2026-9082
- **SA-CORE ID:** SA-CORE-2026-004
- **CVSS Score:** 6.5 (MEDIUM)
- **CVSS Vector:** CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
- **类别:** SQL 注入
- **影响:** 身份验证绕过、信息泄露、权限提升、远程代码执行(取决于配置)
- **受影响版本 (Drupal core):**
- `>= 8.9.0, < 10.4.10`
- `>= 10.5.0, < 10.5.10`
- `>= 10.6.0, < 10.6.9`
- `>= 11.0.0, < 11.1.10`
- `>= 11.2.0, < 11.2.12`
- `>= 11.3.0, < 11.3.10`
## 复现环境
只需运行
```
make
```
我们提供了一个 docker-compose 复现环境,使用:
* 易受攻击版本: Drupal 10.4.9 + PostgreSQL 16
* 已修复版本: Drupal 11.2.12 + PostgreSQL 16
两个环境均包含:
* JSON:API 已启用,并且无需身份验证即可在 `/jsonapi/node/article` 公开访问(许多 Drupal 网站中的常见配置)
* 一个单独的 `article` 节点,以确保 `/jsonapi/node/article` 过滤功能能够真实运作
站点文件和数据库内容已准备好并打包在 `sites.tar.gz` 和 `init.sql.gz` 中
在编写本文时,Drupal 11.2.12 尚未在 Docker Hub 上提供,因此我们使用 composer 构建了一个自定义镜像
标签:CISA项目, Drupal, Maven, PoC, 暴力破解, 测试用例, 漏洞验证, 请求拦截, 逆向工具