Regular (non-admin) users can't view peers they don't own since v0.70 (#6006); no setting restores it through v0.75.0-rc.3 #6599
Unanswered
zerotohero
asked this question in
Issue Triage
Replies: 2 comments
|
I opened another discussion on the subject with a technical proposal to fix the issue: #6680 |
0 replies
|
Draft PR for this regression is up: #6771 It adds an opt-in, default-off account setting |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Before posting
Affected area
Dashboard / Admin UI, Self-hosting / Deployment
Deployment type
Self-hosted - advanced/custom deployment
Operating system or environment
Linux, Docker, Browser
NetBird version and upgrade status
Did this work before?
Yes, this worked before
Regression details
Summary
Since v0.70.0, regular (
user-role) accounts can only see peers they personally registered in the dashboard. Peers belonging to other users — previously visible based on group/policy reachability — no longer appear, even though "Restrict dashboard for regular users" is OFF. There is no account setting that restores the previous visibility in open source.Current behavior
A regular (non-admin) user opens the Peers page and sees only the peer(s) they personally registered. With "Restrict dashboard for regular users" OFF, they previously saw all peers reachable via policy. WireGuard connectivity between peers is unaffected — this is dashboard / management-API visibility only.
Root cause: PR #6006 ("[management] Drop netmap calculation on peer read", merged 2026-04-28) changed
GetPeersinmanagement/server/peer.goto return only the requesting user's owned peers when they lack thepeers:readpermission, removing the prior policy-aware expansion (getUserAccessiblePeers/GetPeerConnectionResources). The logic is identical at v0.73.2, v0.74.0-rc.2, and v0.75.0-rc.3:As a result,
RegularUsersViewBlockedis now effectively binary for non-admins — "own peers" (off) vs "no peers" (on) — and no value gives a regular user visibility of peers they don't own. In open source, no role short ofadmincarriespeers:read, so the only way to give a user the full peer list is to make them an admin (which also grants config write).Expected behavior
With "Restrict dashboard for regular users" OFF, regular users should be able to view peers (as before v0.70 and as the docs still describe). If the permission-gated model is intentional, there should be an open-source account setting or a non-admin role/capability that allows regular users to view all (or policy-reachable) peers without granting full admin — and the docs should be updated to match the current behavior.
Steps to reproduce
user.Environment and topology
Self-hosted details, if available
Logs, status output, or debug evidence
Related issues or discussions
Impact
adminrole (carriespeers:read), but this also grants config write — not acceptable as a general solution. No non-admin workaround exists in open source.Additional context
regular_users_view_blocked = false(i.e. "Restrict dashboard for regular users" is genuinely OFF), yet regular users still see only their own peers — confirming this is a server-side authorization change, not a configuration issue.getUserAccessiblePeersandGetPeerConnectionResourceswere removed from the peer-read path in [management] Drop netmap calculation on peer read #6006 and have not been reinstated through v0.75.0-rc.3.RegularUsersViewBlocked = falseas "view all" again, or add a non-adminpeers:readcapability — and update the docs accordingly.All reactions