v0.7.4 — Security Release
⚠️ Security Fix
All users running the relay without HERDR_RELAY_TOKEN should upgrade immediately.
Vulnerability Fixed
The relay now validates WebSocket origins to prevent drive-by attacks. Previously, any webpage a user visited could connect to the local relay and inject commands into coding agents without authentication.
What Changed
- WebSocket connections from untrusted browser origins are now rejected with 403
- Native clients (Telegram bot, macOS app) that don't send Origin headers are still allowed
- New env var
HERDR_TRUSTED_ORIGINSfor explicitly allowing additional origins
Origin Validation Rules
| Origin | Allowed? |
|---|---|
| No header (native clients) | ✅ |
| Token auth enabled | ✅ (token governs) |
null (opaque/sandboxed) |
❌ |
| Non-HTTP (file://, app://) | ✅ (local apps) |
HERDR_TRUSTED_ORIGINS |
✅ |
| Loopback on loopback relay | ✅ |
| Other browser origins | ❌ |
Other Fixes
- Restore OMP ask interaction functions (PR #30)
- Fix cloudflared download URL for arm64/amd64 (PR #32)
macOS
curl -sL https://github.com/dcolinmorgan/herdr-remote/releases/download/v0.7.4/Herdi-0.7.4.dmg -o /tmp/Herdi.dmg && open /tmp/Herdi.dmgThanks to the security researchers who reported this through the private vulnerability reporting channel.