[MEDIUM] command_result/terminal-Routing ohne Owner-Bindung (Backend agent_ws + Agent vm_listener) #115
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Schweregrad: MEDIUM (durch zufaellige UUIDs gemildert, aber Owner-Bindung fehlt)
Backend (
agent_ws.py:488-661):manager.resolve/terminal.data-Routing prueft nicht, dass der antwortende Agent Owner descmd_id/session_idist.Agent (
vm_listener.rs:181-187):command.output/resultmit ungebundenercmd_idaus VM-Frame weitergereicht → koennte fremden Output verfaelschen.Fix
cmd_id/session_idannode_id(bzw. owning VM) binden; eingehende Resultate nur akzeptieren, wenn der Absender der zugewiesene Owner ist.cmd_ids aus dem VM-Listener akzeptieren.Akzeptanz
Quelle
Code-Review 20.06.2026.
Backend-Owner-Bindung machbar (cmd_id→node_id in start_command tracken, resolve prüft Absender), aber der Fix umfasst laut Issue auch die Agent-Seite (vm_listener: nur zugewiesene cmd_ids). Cross-Cutting (manager + agent_ws + Node-Agent + VM-Agent). Durch zufällige UUIDs aktuell gemildert. Defer auf fokussierte Session mit Agent-Rebuild.
Umgesetzt (deployed). Owner-Bindung beidseitig:
Backend gesund, Agents self-updaten. Schließe.
Pflicht-Begleiter fuer Public (Epic #184). Ohne cmd_id/session-Owner-Binding kann ein kompromittierter Node Ergebnisse fuer Befehle an ANDERE Nodes faelschen / fremde Sessions beanspruchen (Cross-Node-Interferenz). Die neue Challenge-Response-Auth verhindert Spoofing, aber NICHT diese Autorisierungsluecke. Muss vor Public-Betrieb erledigt sein.