
Проверщик предусловий CVE для Citrix NetScaler в соответствии с CTX696604 | Поддерживаемые CVE: 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 IdP | add authentication samlIdPProfile .* |
| CVE-2026-8452 | Auth / Gateway Vserver | add authentication vserver .* или add vpn vserver .* |
| CVE-2026-8655 | Oracle/DNS LB + DNS Recursion | Oracle LB, DNS/DOT vserver, SSL+DNSoverHTTPS, рекурсивное разрешение DNS |
| CVE-2026-10817 | TCP TimeStamp ВКЛЮЧЁН | TCP-профили с -TimeStamp ENABLED, отслеживание привязки профиля к vserver/сервису, обработка наследования профиля по умолчанию |
| CVE-2026-13474 | HTTP/2 ВКЛЮЧЁН | HTTP-профили с -http2 ENABLED, отслеживание привязки профиля к vserver, обработка наследования профиля по умолчанию |
nstcp_default_profile, nshttp_default_profile) имеют уязвимые настройки, и перечисляет все наследуемые vserver/сервисы.sshpass или SSH через paramiko (чистый Python).--json для интеграции с CI/CD.--quiet для отображения только уязвимых CVE.git clone https://github.com/derekpreston81/CVE_ADC_IOC_2026.git
cd CVE_ADC_IOC_2026
pip install -r requirements.txt
Примечание: Скрипт работает только со стандартной библиотекой Python в режиме локального файла.
paramikoтребуется только для получения конфигурации через SSH.
ns.confpython 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
Из CLI NetScaler (или через 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 в вашей системе или используйте --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