CVE-2026-41893: Signal K Server's WebSocket Login Endpoint Lacks Rate Limiting (Credential Brute-Force)
(updated )
The HTTP login endpoints (POST /login and POST /signalk/v1/auth/login) are protected by express-rate-limit (default: 100 attempts per 10-minute window, configurable via HTTP_RATE_LIMITS). The WebSocket login path — sending {login: {username, password}} messages over an established WebSocket connection — calls app.securityStrategy.login() directly without any rate limiting.
An attacker can bypass HTTP rate limiting entirely by opening a WebSocket connection and attempting unlimited password guesses at the speed bcrypt allows (~20 attempts/sec with 10 salt rounds).
References
- github.com/SignalK/signalk-server/commit/215d81eb700d5419c3396a0fbf23f2e246dfac2d
- github.com/SignalK/signalk-server/pull/2568
- github.com/SignalK/signalk-server/releases/tag/v2.25.0
- github.com/SignalK/signalk-server/security/advisories/GHSA-vmfm-ch9h-5c7g
- github.com/advisories/GHSA-vmfm-ch9h-5c7g
- nvd.nist.gov/vuln/detail/CVE-2026-41893
Code Behaviors & Features
Detect and mitigate CVE-2026-41893 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →