Fixed, Security
Private by default
Recordings opened for anyone who had the link. Now every request is checked before a single frame streams.
- 01
Symptom
Recorded videos opened for anyone who had the direct link. No sign-in was needed.
- 02
Root cause
Media was served from a publicly readable path, with no permission check in front of it.
- 03
Fix
Moved recordings behind authenticated, permission-checked access, so only authorised reviewers can stream them.
- 04
Impact
A recording can no longer be reached by its link alone.
Steps
- confirm the leak in a private window
- map every place that builds a media link
- put an authorisation check in front of media
- re-test as anonymous, as the owner and as a reviewer
Stack
Node.js, Auth / RBAC, Object storage
A thousand welcomes