Summary
ACP-only provenance fields in chat.send were gated by self-declared client metadata from the WebSocket handshake rather than verified authorization state.
Impact
A normal authenticated operator client could spoof ACP identity labels and inject reserved provenance fields intended only for the ACP bridge.
Affected Component
src/gateway/server-methods/chat.ts, src/gateway/server/ws-connection/message-handler.ts
Fixed Versions
- Affected:
<= 2026.3.24
- Patched:
>= 2026.3.28
- Latest stable
2026.3.28 contains the fix.
Fix
Fixed by commit 4b9542716c (Gateway: require verified scope for chat provenance).
References
Summary
ACP-only provenance fields in
chat.sendwere gated by self-declared client metadata from the WebSocket handshake rather than verified authorization state.Impact
A normal authenticated operator client could spoof ACP identity labels and inject reserved provenance fields intended only for the ACP bridge.
Affected Component
src/gateway/server-methods/chat.ts, src/gateway/server/ws-connection/message-handler.tsFixed Versions
<= 2026.3.24>= 2026.3.282026.3.28contains the fix.Fix
Fixed by commit
4b9542716c(Gateway: require verified scope for chat provenance).References