Action Required: upgrade to v4.2.2 β
v4.2.2 ships a follow-on security advisory (MM-SEC-5/6/7/8) that patches four additional authorization bugs uncovered after the v4.2.1 disclosure, plus a new admin convenience setting and several multi-source bug fixes.
Security: MM-SEC-5/6/7/8 β
Four authorization issues reachable on a fresh v4.2.1 install. All MeshMonitor 4.x deployments are affected until upgraded.
- MM-SEC-5 (High) β
GET /api/device/security-keyswas gated onrequireAuth()and returned the local node's PKI private key to any logged-in user. NowrequireAdmin()-only. - MM-SEC-6 (Medium) β
GET /api/channels/debugwas aSELECT *pass-through that leaked raw channel PSKs to anyone withmessages:read. Route removed;/api/channelsand/api/channels/allalready cover the legitimate use case with PSKs stripped. - MM-SEC-7 (Medium) β
GET /api/sources/:id/channelswas the sibling endpoint missed by the MM-SEC-2 fix in v4.2.1, leaking PSKs the same way. NowoptionalAuth()+ per-channelchannel_N:readgating + the sametransformChannelprojection. - MM-SEC-8 (Low) β
GET /api/sources/:idskipped thepassword/apiKeystrip the list endpoint applies, leaking source credentials to non-admins withsources:read. Both endpoints now route through a sharedstripSourceSecrets()helper.
After upgrading β
- Rotate your local node's PKI private key if you ran a multi-tenant or untrusted-user deployment of 4.2.1 or earlier. The leak via MM-SEC-5 cannot be undone retroactively.
- Rotate any PSKs and source credentials that were exposed while non-admin users had access.
Full per-finding write-up: SECURITY_ADVISORY.md. Reported by The Official Mesh Admin. PR: #2915.
New: Admin-Configurable Default Landing Page β
Admins can now choose what users see at the root URL β Unified View (default) or any single configured source. Find it under Settings β Appearance β Default Landing Page. The Sources button (in source view) and Back to Sources buttons (Unified Messages / Unified Telemetry) always return to the unified dashboard regardless of the configured default. Resolves #2917. PR: #2921.
Other fixes β
- Auto Traceroute checkbox now hydrates from the per-source value instead of a stale global (#2918).
- Multi-source routing for Exchange Node Info / Position / Neighbor Info now honors the selected source instead of the default (#2916).
- Position override now writes to the live source row instead of the legacy
defaultrow (#2913). - Auto-upgrade sidecar now clears the stale
.upgrade-statusfile before triggering a new upgrade (#2920). - Desktop script storage now honors
DATA_DIR(#2919). - Desktop x64 macOS DMG now ships with x64 native binaries (#2912).
/api/scan-remote-adminhandles empty request bodies (#2910).