
اكتشف بأمان ما إذا كان خادم strongSwan VPN معرّضًا للثغرة الأمنية CVE-2026-25075 دون التسبب في أي انقطاع. اطّلع على المقال الكامل في مدونة Bishop Fox.
CVE-2026-25075 هي ثغرة تدفّق سفلي صحيح (integer underflow) في المكوّن الإضافي EAP-TTLS الخاص بـ strongSwan، وتسمح للمهاجمين عن بُعد دون مصادقة بتعطيل البرنامج الخفي IKE (IKE daemon) عبر رسالة EAP-TTLS مُصمَّمة خصيصًا. تؤثر هذه الثغرة على جميع إصدارات strongSwan من 4.5.0 حتى 6.0.4، أي ما يغطي إصدارات تمتد على مدى أكثر من 15 عامًا.
تنفذ هذه الأداة اختبار الثغرات بطريقة غير تخريبية من خلال:
length=1 ولكن دون حمولة بياناتإرسال ترويسة AVP بحقل طول غير صالح ولكن دون بيانات مرافقة يؤدي إلى تفعيل التدفق السفلي الصحيح لأغراض الكشف، مع تجنب تلف الكومة (heap corruption) لأن memcpy(ptr, data, 0) هي عملية لا تؤدي شيئًا (no-op). يبقى الخادم مستقرًا ويمكنه مواصلة معالجة الاتصالات.
الخوادم المعرّضة للثغرة ستقبل AVP غير الصالحة وترسل إقرار EAP-TTLS، مما يؤكد وجود CVE-2026-25075.
الخوادم المحدّثة (6.0.5+) سترفض AVP غير الصالحة بسبب فحوصات التحقق التي أُدخلت في الإصلاح.
الخوادم غير المتأثرة ستفشل في إجراء مصافحة EAP-TTLS، وفي هذه الحالة تكون الثغرة مخففة فعليًا.
git clone https://github.com/BishopFox/CVE-2026-25075-check
cd CVE-2026-25075-check
python3 -m pip install pycryptodome tlslite-ng
اختبر خادم strongSwan على <TARGET>:<PORT>. منفذ IKE الافتراضي هو 500/UDP.
python3 CVE-2026-25075-check.py <TARGET> [PORT]
$ python3 CVE-2026-25075-check.py 192.168.1.100 500
======================================================================
strongSwan CVE-2026-25075 Vulnerability Scanner
Non-Destructive Detection
======================================================================
[*] Target: 192.168.1.100:500
[*] Testing for CVE-2026-25075 (non-destructive)
[1] IKE_SA_INIT... OK
[2] IKE_AUTH... OK
[3] EAP Identity... OK
[4] TLS handshake... OK
[5] Sending test AVP with length=1 (header only, no data)... SENT
[*] Analyzing server response...
[+] Server sent EAP-TTLS ACK (waiting for more data)
[!] Server accepted AVP with length < 8
[!] Integer underflow vulnerability confirmed
======================================================================
RESULT: VULNERABLE to CVE-2026-25075
Server version likely: 4.5.0 - 6.0.4
Recommendation: Upgrade to strongSwan 6.0.5+
======================================================================
$ python3 CVE-2026-25075-check.py 192.168.1.200 500
======================================================================
strongSwan CVE-2026-25075 Vulnerability Scanner
Non-Destructive Detection
======================================================================
[*] Target: 192.168.1.200:500
[*] Testing for CVE-2026-25075 (non-destructive)
[1] IKE_SA_INIT... OK
[2] IKE_AUTH... OK
[3] EAP Identity... OK
[4] TLS handshake... OK
[5] Sending test AVP with length=1 (header only, no data)... SENT
[*] Analyzing server response...
[!] No response from server
[-] Connection likely closed (AVP rejected)
======================================================================
RESULT: NOT VULNERABLE (or patched)
Server rejected AVP with invalid length
======================================================================
يمكن للأداة اكتشاف الثغرة فقط إذا تحققت الشروط التالية:
إذا لم يتحقق أي شرط، ستفشل الأداة بأناقة في المرحلة المقابلة وتبلغ بنتيجة INCONCLUSIVE. على سبيل المثال:
يتم توزيع هذا الكود بموجب رخصة MIT.
استخدام هذه الأداة لمهاجمة الأهداف دون موافقة متبادلة مسبقة أمر غير قانوني. تقع على عاتق المستخدم النهائي مسؤولية الامتثال لجميع القوانين المحلية والولائية والاتحادية المعمول بها. لا يتحمل المطورون أي مسؤولية ولا يتحملون مسؤولية أي إساءة استخدام أو ضرر يسببه هذا البرنامج.