
مدقق الشروط المسبقة لثغرات Citrix NetScaler وفقًا لـ CTX696604 ثغرات مدعومة : CVE-2026-8451, CVE-2026-8452, CVE-2026-8655, CVE-2026-10816, CVE-2026-10817, و CVE-2026-13474
المؤلف: Derek
نصّ بلغة Python لفحص ملفات تكوين NetScaler (ns.conf) وتحديد ما إذا كان الجهاز يستوفي المتطلبات المسبقة لثغرات CVE محددة. يقوم النص بتحليل التكوين الجاري أو ملفات التكوين المحفوظة ويبلغ عن التكوينات المعرضة للخطر مع نتائج مفصلة.
| CVE | الوصف | المتطلب المسبق الذي تم فحصه |
|---|---|---|
| CVE-2026-8451 | ملف تعريف موفر هوية SAML | add authentication samlIdPProfile .* |
| CVE-2026-8452 | خادم افتراضي للمصادقة / للبوابة | add authentication vserver .* أو add vpn vserver .* |
| CVE-2026-8655 | موازنة تحميل Oracle/DNS + التحليل التكراري DNS | موازنة تحميل Oracle، خوادم افتراضية DNS/DOT، SSL + DNS عبر HTTPS، التحليل التكراري DNS |
| CVE-2026-10817 | تفعيل طابع الوقت TCP | ملفات تعريف TCP مع -TimeStamp ENABLED، تتبع تعيين ملف التعريف إلى الخادم الافتراضي/الخدمة، معالجة وراثة ملف التعريف الافتراضي |
| CVE-2026-13474 | تفعيل HTTP/2 | ملفات تعريف HTTP مع -http2 ENABLED، تتبع تعيين ملف التعريف إلى الخادم الافتراضي، معالجة وراثة ملف التعريف الافتراضي |
nstcp_default_profile, nshttp_default_profile) على إعدادات معرضة للخطر ويسرد جميع الخوادم الافتراضية/الخدمات الموروثة.sshpass، أو SSH عبر paramiko (بايثون خالص).--json للتكامل مع خطوط أنابيب CI/CD.--quiet لعرض الثغرات المعرضة للخطر فقط.git clone https://github.com/derekpreston81/CVE_ADC_IOC_2026.git
cd CVE_ADC_IOC_2026
pip install -r requirements.txt
ملاحظة: يعمل النص مع مكتبة بايثون القياسية فقط لوضع الملف المحلي.
paramikoمطلوب فقط لجلب SSH.
ns.conf محليpython netscaler_cve_checker.py /path/to/ns.conf
python netscaler_cve_checker.py --ssh 192.168.1.1 nsroot password
سيحاول النص تلقائياً sshpass أولاً، ثم يتراجع إلى paramiko.
python netscaler_cve_checker.py --ssh-paramiko 192.168.1.1 nsroot password
python netscaler_cve_checker.py --json /path/to/ns.conf
python netscaler_cve_checker.py --quiet /path/to/ns.conf
من سطر أوامر NetScaler CLI (أو SSH):
show ns runningconfig > /var/tmp/ns.conf
ثم قم بتحميل ns.conf عبر SCP/SFTP وقم بتشغيل المدقق محلياً.
استخدم العلامات --ssh أو --ssh-paramiko (انظر أعلاه). يقوم النص بتشغيل show ns runningconfig على الجهاز ويحلل المخرجات.
================================================================================
NetScaler CVE Preconditions Checker
Version: 1.1
================================================================================
[CVE-2026-8451] SAML IdP Profile Configuration
Status: NOT VULNERABLE (Severity: NONE)
Precondition: add authentication samlIdPProfile .*
✓ No matching preconditions found.
[CVE-2026-8452] Authentication Vserver / Gateway (VPN) Vserver
Status: VULNERABLE (Severity: HIGH)
Preconditions:
- add authentication vserver .* (AAA Vserver)
- add vpn vserver .* (Gateway: VPN, ICA Proxy, CVPN, RDP Proxy)
⚠ Findings:
VPN/Gateway Vservers (2):
> add vpn vserver GW_VPN SSL 10.0.0.10 443 -icaOnly ON
> add vpn vserver RDP_PROXY SSL 10.0.0.11 443
Recommendation: Review AAA and VPN vservers. Apply patches and restrict access.
[CVE-2026-10817] TCP Profiles with TimeStamp ENABLED
Status: VULNERABLE (Severity: CRITICAL)
Precondition: TCP profiles with -TimeStamp ENABLED
⚠ Findings:
TCP Profiles with TimeStamp ENABLED (1):
> Profile: custom_profile
Config: add ns tcpProfile custom_profile -TimeStamp ENABLED
Attached Vservers (1):
- test_server (add lb vserver)
⚠ DEFAULT PROFILE (nstcp_default_profile) has TimeStamp ENABLED!
All vservers/services without explicit TCP profile are impacted.
Default-impacted Vservers (15):
- vs1 (add lb vserver)
- vs2 (add cs vserver)
...
Recommendation: Disable TimeStamp on TCP profiles unless required.
================================================================================
SUMMARY
================================================================================
CVE-2026-8451: SAFE
CVE-2026-8452: VULNERABLE
CVE-2026-8655: SAFE
CVE-2026-10817: VULNERABLE
CVE-2026-13474: SAFE
Total CVEs checked: 5
Vulnerable: 2
Safe: 3
ACTION REQUIRED: Review findings above and apply vendor patches.
================================================================================
sshpass not foundقم بتثبيت sshpass على نظامك، أو استخدم --ssh-paramiko بدلاً من ذلك:
# Ubuntu/Debian
sudo apt-get install sshpass
# RHEL/CentOS/Rocky
sudo yum install sshpass
# macOS
brew install sshpass
paramiko غير مثبتpip install paramiko
ثم استخدم --ssh-paramiko لوضع SSH.
يتم توفير هذا النص كما هو لأغراض تقييم الأمان والامتثال. استخدم على مسؤوليتك الخاصة. تحقق دائماً من النتائج مقابل نصائح أمان البائع قبل تطبيق التغييرات.
Derek