
Неразрушающий сканер уязвимостей для CVE-2026-25075 в VPN-серверах strongSwan. Обнаруживает целочисленное переполнение в плагине EAP-TTLS с помощью специально сформированного AVP без нарушения работы сервера.
Безопасно определите, уязвим ли VPN-сервер strongSwan к CVE-2026-25075, не вызывая никаких сбоев. Полное описание см. в подробном отчёте в блоге Bishop Fox.
CVE-2026-25075 — это уязвимость целочисленного переполнения вниз (integer underflow) в плагине EAP-TTLS проекта strongSwan, которая позволяет удалённым неаутентифицированным злоумышленникам вызвать сбой демона IKE с помощью специально сформированного сообщения EAP-TTLS. Уязвимость затрагивает все версии strongSwan с 4.5.0 по 6.0.4, что охватывает более 15 лет релизов.
Этот инструмент выполняет неразрушающее тестирование уязвимости путём:
length=1, но без полезной нагрузки данныхОтправка заголовка AVP с некорректным полем длины, но без сопутствующих данных, вызывает целочисленное переполнение вниз в целях обнаружения, но позволяет избежать повреждения кучи, поскольку 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.
Использование этого инструмента для атак на цели без предварительного обоюдного согласия незаконно. Ответственность за соблюдение всех применимых местных, государственных и федеральных законов лежит на конечном пользователе. Разработчики не несут ответственности и не отвечают за любое неправомерное использование или ущерб, причинённый этой программой.