Summary
CVE-2026-49994 is a critical missing-authentication vulnerability affecting Bluehood, a self-hosted Bluetooth activity monitoring tool. Although Bluehood’s HTML page handlers correctly enforced session validation when authentication was enabled, its /api/* endpoints performed no authentication checks at all, allowing any unauthenticated network attacker to read Bluetooth tracking data and modify application configuration. The flaw carries a CVSS v3.1 base score of 9.1 (Critical).
Technical details
- Root cause: Authentication was implemented inconsistently across Bluehood’s web interface. Session validation was applied only to HTML page routes; the
/api/*route handlers called no authentication or authorization check whatsoever, even whenauth_enabledwas configured. - Trigger conditions: Any network-reachable request to an affected API endpoint succeeds without a valid session cookie or credentials, regardless of the server’s authentication configuration.
- Attack vector: Network (AV:N), low attack complexity, no privileges or user interaction required — a remote, unauthenticated attacker with network access to the Bluehood dashboard port can exploit the issue directly.
- Impact: Full disclosure of collected Bluetooth observation/tracking data (device presence, patterns, groupings, notes) and unauthorized modification of application settings, including heartbeat URLs, data retention policies, device groupings, and per-device notes. No availability impact was noted.
- Affected endpoints:
/api/settings,/api/devices,/api/groups,/api/device/{mac}/notes, and other per-device API endpoints.
Affected software
- Bluehood (dannymcc/bluehood) — all versions up to and including 0.7.0
- Fixed in version 0.7.1
Severity
- CVSS v3.1 Base Score: 9.1 (Critical)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Mitigation and recommended actions
- Immediate: Upgrade Bluehood to version 0.7.1 or later, which introduces a default-deny authentication middleware that gates every route on a valid session, exempting only the required authentication endpoints (
/login,/api/auth/login,/api/auth/logout,/api/auth/status,/api/auth/setup). - If immediate patching is not possible:
- Place the Bluehood dashboard behind a reverse proxy that enforces its own authentication (e.g., an OAuth-based access proxy).
- Restrict network access to the Bluehood dashboard/API port to trusted internal networks only; do not expose it directly to the internet.
- Audit device data and configuration settings (heartbeat URLs, retention policies, groupings, notes) for unauthorized changes if the instance was internet-reachable prior to patching.

