nextcloud / nextcloud/circles

secret circles may give users an incorrect assumption of security

Open
#358 1 comment 9 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop bug security
Dominant language
JavaScript
Stars
177
Forks
68
Avg merge
2d 22h
Merged PRs (30d)
60

Description

We recently discovered that if a user searches for a secret circle using part of the circle name, it will not show up in the search resuts (as expected).

However, if the user can guess the exact name of a secret circle and types the full name in the search menu, the secret circle will appear and the user can join it without owner approval, thus immediately gaining access to all shares and the list of other members.

Is this intended behavior? It was surprising to us and because we did not expect this behavior it presented a security breach.

My expectations would be:

  • The secret circle will never appear to someone who is not already a member (I think this is the intended behavior and what I'm experiencing is a bug).
  • It is not possible for someone to either join or even request permission to join a secret circle (I'm not sure if this is the intened behavior, but it seems consistent with the first point - if it is not possible to find a secret circle, then it should not be possible to join one)

With this behavior, a secret circle would be similar to a personal circle except:

  • Users who belong to a secret circle would see the secret circle in the list of circles they belong to (which does not seem to be the case with personal circles)
  • Users would have the ability to leave a secret circle (also not possible with private circles)

The circles app is amazing and has made it possible for us to operate a Nextcloud instance for our entire membership - so many thanks for all of your hard work, including the work of balancing everyone's interests.

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 reproducing the exact-name search and join flow for a secret circle in the circles app, then compare it with the documented expectations in the issue. Done should mean that non-members cannot discover or join a secret circle, with the handling of join requests clarified and covered by appropriate tests.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.