Skip to content

Add WebSocket origin validation#3

Merged
pscheid92 merged 1 commit intomainfrom
fix-websocket-check-origin
Feb 22, 2026
Merged

Add WebSocket origin validation#3
pscheid92 merged 1 commit intomainfrom
fix-websocket-check-origin

Conversation

@pscheid92
Copy link
Owner

@pscheid92 pscheid92 commented Feb 22, 2026

Summary

  • Replace permissive CheckOrigin (always returns true) with proper origin validation to prevent Cross-Site WebSocket Hijacking (CSWSH)
  • Allow: app's own origin (derived from WEBHOOK_CALLBACK_URL), obs:// (OBS browser sources), empty origin (same-origin/non-browser clients), localhost (dev mode only)
  • Reject all other origins with a warning log

Test plan

  • Unit tests cover all origin scenarios (17 test cases pass)
  • make test-short passes
  • make lint passes
  • make build passes
  • Manual: verify OBS browser source connects successfully
  • Manual: verify overlay loads in browser at app domain
  • Manual: verify cross-origin WebSocket from a different domain is rejected

Replace the permissive CheckOrigin (always true) with proper origin
validation. Allows the app's own origin (derived from WEBHOOK_CALLBACK_URL),
OBS browser sources (obs://), empty origins (same-origin/non-browser),
and localhost in development mode. Rejects all other origins.
@pscheid92 pscheid92 merged commit 40156e3 into main Feb 22, 2026
1 check passed
@pscheid92 pscheid92 deleted the fix-websocket-check-origin branch February 22, 2026 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant