CVE-2026-5585
Executive Summary
CVE-2026-5585 is an information disclosure vulnerability in Tencent AI-Infra-Guard version 4.0, specifically within the Task Detail Endpoint implemented in common/websocket/task_manager.go. The flaw allows an unauthenticated remote attacker to access sensitive task details without proper authorization. The exploit has been publicly released, and the vendor has not responded to disclosure attempts. With a CVSS score of 5.3 (Medium), the risk is elevated due to the lack of authentication requirements and the public availability of exploit code.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability affects a Go-based application (Tencent AI-Infra-Guard). The project is not distributed via standard package registries (NPM, PyPI, RubyGems), but organizations using this tool should verify their deployment source. Since no patch exists, users must rely on manual mitigation or consider removing the component from production environments.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – Exploitable remotely.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – No authentication needed.
- User Interaction (UI): None (N) – No user action required.
- Scope (S): Unchanged (U) – Impact confined to the vulnerable component.
- Confidentiality (C): Low (L) – Limited information disclosure.
- Integrity (I): None (N) – No data modification.
- Availability (A): None (N) – No denial of service.
Threat Level: Medium. The low EPSS score (0.0%) suggests limited active exploitation, but the public exploit and lack of patch increase the urgency for detection and mitigation.
Deep Dive & Mechanics
The vulnerability resides in the WebSocket-based Task Detail Endpoint within common/websocket/task_manager.go. The endpoint fails to enforce proper access controls, allowing any remote client to query task details without authentication. The manipulation likely involves sending a crafted WebSocket message to retrieve task metadata, including potentially sensitive configuration or operational data.
The root cause is a missing authorization check in the WebSocket handler. The function processes incoming requests and returns task details without verifying the requester’s identity or permissions. This is a classic case of CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor).
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable code is the only reference. The following snippet illustrates the likely vulnerable pattern in common/websocket/task_manager.go:
// Vulnerable code (CVE-2026-5585)
func handleTaskDetail(conn *websocket.Conn, msg map[string]interface{}) {
taskID := msg["task_id"].(string)
// Missing authentication check
taskData := getTaskDetails(taskID) // Returns sensitive data
conn.WriteJSON(taskData)
}
A patched version would include an authentication check:
// Hypothetical patched code
func handleTaskDetail(conn *websocket.Conn, msg map[string]interface{}) {
if !isAuthenticated(conn) {
conn.WriteJSON(map[string]string{"error": "unauthorized"})
return
}
taskID := msg["task_id"].(string)
taskData := getTaskDetails(taskID)
conn.WriteJSON(taskData)
}
Exploitation & Lab Setup
Red Team
Prerequisites:
- Target running Tencent AI-Infra-Guard 4.0 with WebSocket endpoint exposed.
- Network access to the target (e.g.,
ws://target:8080/ws).
Exploit Steps:
- Connect to the WebSocket endpoint.
- Send a JSON message requesting task details:
{"action": "task_detail", "task_id": "any_task_id"} - Receive the response containing sensitive task information.
Example using websocat:
websocat ws://target:8080/ws
> {"action":"task_detail","task_id":"1"}
< {"task_id":"1","status":"running","config":"sensitive_data"}
Blue Team
Detection:
- Monitor WebSocket connections to the
/wsendpoint. - Alert on requests containing
"action":"task_detail"without prior authentication. - Use the Sigma rule below to detect anomalous WebSocket messages.
Mitigation:
- Restrict network access to the WebSocket endpoint using firewall rules.
- Implement authentication middleware for all WebSocket handlers.
- If possible, disable the Task Detail Endpoint until a patch is available.
Indicators of Compromise (IOCs)
Network IOCs:
- WebSocket connections to
ws://<target>:8080/wswith JSON payloads containing"action":"task_detail". - Outbound connections from the target to unknown IPs (if data exfiltration occurs).
- WebSocket connections to
File IOCs:
- Log entries in
task_manager.logshowing unauthenticated task detail requests. - Modified configuration files in
/etc/ai-infra-guard/(if exploited for further access).
- Log entries in
Behavioral IOCs:
- Unusual number of WebSocket connections from a single IP.
- Requests for task IDs that do not correspond to legitimate tasks.
Detection Engineering
YARA Rule
rule CVE_2026_5585_WebSocket_Exploit {
meta:
description = "Detects exploit attempts for CVE-2026-5585 in Tencent AI-Infra-Guard"
author = "Valters IT"
date = "2025-04-10"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-5585"
strings:
$ws_payload = /"action"\s*:\s*"task_detail"/
$task_id = /"task_id"\s*:\s*"[^"]+"/
condition:
$ws_payload and $task_id
}
Sigma Rule
title: CVE-2026-5585 WebSocket Task Detail Exploit
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects unauthenticated WebSocket requests to the Task Detail endpoint
author: Valters IT
logsource:
category: websocket
product: tencent_ai_infra_guard
detection:
selection:
uri: "/ws"
payload|contains: "task_detail"
condition: selection
falsepositives:
- Legitimate internal monitoring tools (if authenticated)
level: high
Suricata Rule
alert tcp any any -> any 8080 (msg:"CVE-2026-5585 WebSocket Task Detail Exploit"; flow:to_server; content:"|7b 22 61 63 74 69 6f 6e 22 3a 22 74 61 73 6b 5f 64 65 74 61 69 6c 22|"; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Isolate the vulnerable component from untrusted networks (e.g., place behind a VPN or firewall).
- Monitor WebSocket traffic for exploitation attempts using the provided detection rules.
- Disable the Task Detail Endpoint if not required, by removing or commenting out the WebSocket handler in
common/websocket/task_manager.go.
Long-term Fix:
- Since the vendor is unresponsive, consider forking the repository and implementing authentication checks as shown in the patched code example.
- Evaluate alternative tools that provide similar functionality with active security support.
Workaround:
- Implement a reverse proxy (e.g., Nginx) that requires HTTP Basic Authentication before proxying WebSocket connections to the backend.
Valters IT
{/* [Security Hash: C9BA224B74E6F417165621F1] */}