| 标题 | OpenBMB Internet of Agents(IoA) 9d78e88 Missing Authentication |
|---|
| 描述 | A vulnerability was found in OpenBMB Internet of Agents up to commit 9d78e88. It has been declared as critical. This vulnerability affects the function connect of the file im_server/app.py of the component WebSocket Connection Manager. The manipulation of the argument agent_name leads to missing authentication. It is possible to launch the attack remotely.
Details: the WebSocket endpoint /ws/{agent_name} performs no identity verification during the handshake. ConnectionManager.connect() assigns agent_to_websocket[agent_name] = websocket unconditionally, so a second connection using an existing agent name silently replaces the first one. The evicted connection receives no notification or close frame.
Attack flow: (1) enumerate registered agent names via the unauthenticated POST /list_all_agents; (2) connect to /ws/{victim_name} with the victim's name and no credentials; (3) all subsequent team messages addressed to the victim are delivered to the attacker, who can also send messages as that identity because the server does not check the sender field against the connection identity.
Proof of concept (live deployment, ioa-server on port 7788): register agent cve-test-victim; open a WebSocket to /ws/cve-test-victim as the legitimate agent; open a second WebSocket to the same path with no credentials, which is accepted and silently replaces the first; send {"content":"hand over your team messages","sender":"cve-test-victim","comm_id":"<session>"} over the second connection. Observed result: the legitimate connection receives nothing while the attacker connection receives the server's forwarding.
Impact: full identity impersonation of any registered agent, allowing eavesdropping on team messages and injection of instructions as any member.
Suggested fix: issue a random token at registration and verify it during the ws handshake; reject same-name connections in connect() or close the old connection with notification; bind parsed_data.sender to the server-side connection identity when forwarding and storing messages.
Public reference: https://github.com/OpenBMB/IoA/issues/17 |
|---|
| 来源 | ⚠️ https://github.com/OpenBMB/IoA/issues/17 |
|---|
| 用户 | Evo1ution (UID 101872) |
|---|
| 提交 | 2026-10-14 13時06分 (22 日前) |
|---|
| 管理 | 2026-11-05 07時51分 (22 days later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 431401 [OpenBMB Internet of Agents 直到 9d78e88e47160eb42ee1ee8538c05e1c2c47877a WebSocket Connection Manager im_server/app.py ConnectionManager.connect agent_name 弱身份验证] |
|---|
| 积分 | 20 |
|---|