This release includes 1 security fix for security teams reviewing exposed deployments.
Topics
+1 more
Affected surfaces
Summary
AI summaryFixed persistent 401 Unauthorized in Live View and improved authentication security.
Full changelog
Full Changelog: https://github.com/spupuz/VibeNVR/compare/v1.20.2...v1.20.3
🐛 Bug Fixes
- Live View: persistent 401 Unauthorized on HTTP with COOKIE_SECURE=false — definitively fixed
Frame polling now uses anAuthorization: Bearerheader (in-memory token) instead of themedia_tokencookie. Works reliably on HTTP, HTTPS, incognito mode, and all configurations.
🔒 Security
Authorization: Bearerheader is more resistant to CSRF than cookie-based auth- The token is never exposed in the URL or server access logs
- No security regression for HTTPS installations behind a reverse proxy
📦 What Changed
| File | Change |
|------|--------|
| frontend/src/pages/LiveView.jsx | Frame requests now use Authorization: Bearer header |
| backend/routers/cameras.py | /frame and /stream endpoints accept Bearer header (priority over cookie) |
| frontend/package.json | 1.20.2 → 1.20.3 |
| backend/package.json | 1.20.2 → 1.20.3 |
⬆️ How to Update
docker compose -f docker-compose.prod.yml pull
docker compose -f docker-compose.prod.yml down
docker compose -f docker-compose.prod.yml up -d
No .env changes required. No hard refresh needed — the new JS bundle hash is detected automatically by the browser.
Security Fixes
- Authentication in Live View switched to `Authorization: Bearer` header, making it more resistant to CSRF and preventing token exposure in URLs or server logs.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About spupuz/VibeNVR
All releases →Related context
Related tools
Earlier breaking changes
- v1.28.3 Must update docker-compose.yml with TZ variable for all services
Beta — feedback welcome: [email protected]