WebSocket message or subscription authorization failure
A valid connection performs unauthorized per-message actions or receives a private subscription.
Candidate CWE: CWE-862
Test hypothesis#
Capture the normal message protocol. Have controlled B subscribe to A’s known private room; A sends one marker. Separately revoke B from a shared room and inspect one subsequent message.
Evidence required#
B receives the unauthorized marker or performs a restricted action. Preserve handshake identity, subscription ID, message sequence, and applicable revocation semantics.
Rule out false positives#
A successful handshake, an ignored subscribe request, or public broadcast messages is not evidence of private channel access.
Playbook and command references#
- REST, GraphQL, gRPC, WebSocket, and SSE permission parity — Carry the same permission invariant across protocols, nested fields, streams, and alternate API versions.
- Object, function, and property authorization — Turn identities, tenants, objects, roles, and lifecycle transitions into a reproducible permission matrix.
- Authentication, recovery, federation, and session lifecycle — Test registration, recovery, identity changes, invitations, SSO enforcement, and deprovisioning as one account state machine.
Find the associated command snippets
Referenced by these target playbooks#
Report checklist#
- Capture the affected version, configuration, identities, and object ownership.
- Preserve a valid baseline and a negative control.
- Reproduce the forbidden data access, action, or state change on controlled fixtures.
- Explain the intended security rule and why the observed behavior violates it.
- State prerequisites, uncertainty, cleanup, and the smallest demonstrated impact.
Conditional ATT&CK mapping#
No direct ATT&CK mapping selected. Record the weakness and demonstrated impact without forcing an adversary-behavior classification. See the mapping guide.