v0.65.3
netbirdio/netbirdv0.65.3Feb 19, 2026by mlsmaycon
AI Summary
Security-focused patch release fixing a race condition in user role validation that could potentially allow privilege escalation during concurrent role change operations. Also includes client and relay improvements.
Key Highlights
- Security fix: Race condition in role update validation (CVE-level fix)
- macOS DNS domains batching to avoid truncation
- Route settlement on iOS before DNS responses
- QUIC initial packet size reduced to 1280 bytes for IPv6 compatibility
- Migration script for upgrading from pre-v0.65.0 to post-v0.65.0 combined setup
New Features
- Race condition fix in user role change operations
- Lock acquisition time logging in message handling
- Docker login step in management tests
Full Release Notes
## Release Notes for v0.65.3 🛡️ Security Fix: Race Condition in Role Update Validation **What was affected** A race condition in the user role validation logic could allow permission checks to succeed based on stale role data. Under very specific timing conditions, concurrent requests during a role change (e.g., while an admin was being demoted to user) could bypass role validation when changing another users role. **Exploit Potential** If an administrator account was being demoted while simultaneously performing acocunt ownership transfer actions, a race window existed where the system could treat the user as having elevated permissions to change owners. In a coordinated scenario involving two administrator accounts, this could potentially allow privilege escalation — for example, promoting a user to Owner during the demotion window. **Conditions Required** Exploitation required: - Two administrator accounts. - One administrator being actively demoted. - Concurrent ownership transfer requests executed precisely during the demotion process. - Precise timing to trigger the race condition. This issue required intentional coordination and timing, making it unlikely to occur accidentally and will require access to two admin accounts. ### What's New #### Client & Mobile Improvements - Batched **macOS DNS domains** to avoid truncation issues. [#5368](https://github.com/netbirdio/netbird/pull/5368) - Ensured **route settlement on iOS** before handling DNS responses. [#5360](https://github.com/netbirdio/netbird/pull/5360) - Added logging of **lock acquisition time** in message handling for improved observability. [#5393](https://github.com/netbirdio/netbird/pull/5393) #### Relay Improvements - Reduced **QUIC initial packet size to 1280 bytes** (IPv6 minimum MTU) for better compatibility. [#5374](https://github.com/netbirdio/netbird/pull/5374) #### Management Improvements - Fixed possible **race condition on user role change**. [#5395](https://github.com/netbirdio/netbird/pull/5395) - Added **docker login step** in management tests. [#5323](https://github.com/netbirdio/netbird/pull/5323) #### Self-Hosted Updates - Added a **migration script** for upgrading from pre-v0.65.0 to post-v0.65.0 combined setup. [#5350](https://github.com/netbirdio/netbird/pull/5350) - Removed unused **configuration example** from self-hosted setup. [#5383](https://github.com/netbirdio/netbird/pull/5383) #### Miscellaneous - Updated **timestamp format to include milliseconds**. [#5387](https://github.com/netbirdio/netbird/pull/5387) **Full Changelog**: [v0.65.2...v0.65.3](https://github.com/netbirdio/netbird/compare/v0.65.2...v0.65.3)