nextcloud / nextcloud/collectives

Bug: Collective moderator can manage members in Contacts despite lacking permission in Collectives

Open
#2,654 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
JavaScript
Stars
195
Forks
51
Avg merge
1d 2h
Merged PRs (30d)
48

Description

Description

When an administrator creates a collective in the Collectives app and assigns a user as a moderator, the moderator cannot manage the collective's members or groups in the Collectives app, which is the expected behavior.

However, the same collective is also available in the Contacts app, where the moderator can add or remove members and groups.

This results in inconsistent permission handling between the two apps and allows the moderator to perform actions that are not permitted in Collectives.

Steps to reproduce
Log in as an administrator.
Create a new collective in the Collectives app.
Assign a user as the collective moderator.
Log in as the moderator.
Verify that the moderator cannot add or remove members or groups in the Collectives app.
Open the Contacts app.
Open the same collective.
Notice that the moderator can add or remove members and groups.
Expected behavior

A moderator should not be able to manage the collective's members or groups in either Collectives or Contacts. Permission enforcement should be consistent across both applications.

Actual behavior

The moderator cannot manage members in Collectives, but can add or remove members and groups in Contacts, bypassing the permission restrictions defined in Collectives.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the member and group management permission checks in both the Collectives and Contacts apps, using the reproduction steps to compare their behavior for a collective moderator. Confirm that the same moderator actions are denied consistently in both applications, and verify the result with focused permission tests or the documented reproduction flow.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
authorization
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.