Project

General

Profile

Actions

Patch #27676

closed

Information leak on roadmap and versions view

Added by Jan from Planio www.plan.io almost 7 years ago. Updated almost 6 years ago.

Status:
Closed
Priority:
Normal
Category:
Roadmap
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

Description

When limiting a role's permission to only access "Issues created by or assigned to the user", the roadmap (/projects/:identifier/roadmap) and version details (versions/:id) view leaks information about inaccessible issues and time estimations. Due to missing permission checks in Version#fixed_issues the restricted user may see the overall number of issues, their status, tracker, author, category, and time estimations.

We think, this a security-relevant information leak and it should be fixed and announced responsibly. Attached you may find a proposed patch which includes tests and a fix.

The attached patch changes the Version model, so that the calculation methods (closed_issues_count, open_issues_count, etc) are now also available on the fixed_issues relation proxy object. In a second step, all relevant places, where those calcuation methods are used, are updated to include the visible scope. This fixes the roadmap view, the version details view and the version summary in the Gantt chart.

This bug was reported by a Planio user, the patch series was developed by Gregor Schmidt.


Files


Related issues

Related to Redmine - Defect #15258: Roadmap Issue Count offClosed

Actions
Has duplicate Redmine - Defect #19187: Roadmap links in subproject Closed

Actions
Has duplicate Redmine - Defect #19059: Wrong number of issues for a version in the roadmapClosed

Actions
Actions #1

Updated by Jean-Philippe Lang almost 7 years ago

I've committed the patch serie, thanks.

This issue was already reported long time ago and it was chosen not to change the behaviour (see #15258). With this change, different users might now see different progress values for the same version and this can be confusing. I think we should add a message for when there are issues assigned to the version that are not visible to the user, for example:

  • When all issues are visible: no change
  • When there are no visible issues but other issues exist: "No visible issues for this version" (instead of "No issues for this version")
  • When there are visible issues and other issues exist: "Some issues assigned to this version are not visible and not taken into account" (message added)
  • When there are no issues: no change ("No issues for this version")

What do you think? IMO, it's important to let the user know that are other (not visible) issues that are assigned to the version.

Actions #2

Updated by Jean-Philippe Lang almost 7 years ago

Actions #3

Updated by Jean-Philippe Lang almost 7 years ago

Also reported in #9411 and #15248

Actions #4

Updated by Jan from Planio www.plan.io almost 7 years ago

Thank you for your feedback. Here's what Gregor said:

I agree. It may be confusing, that two users may see different roadmaps. On the other hand, the same is true for issue lists, Gantt charts and many other views. This would be the first place, where a special note about invisible elements is added. It feels like a paradigm shift to me.

I don't want to argue against that change. I merely want to be sure, that it's done without proper thought.

Actions #5

Updated by Toshi MARUYAMA almost 7 years ago

How about #19187 and #19059?
Marius provides test case in #19187#note-4.

Actions #6

Updated by Go MAEDA over 6 years ago

  • Target version set to 4.0.0

This issue should appear in the changelog. Setting target version to 4.0.0.

Actions #7

Updated by Go MAEDA over 6 years ago

Actions #8

Updated by Go MAEDA over 6 years ago

  • Has duplicate Defect #19059: Wrong number of issues for a version in the roadmap added
Actions #9

Updated by Jean-Philippe Lang about 6 years ago

  • Status changed from New to Closed
  • Assignee set to Jean-Philippe Lang
Actions #10

Updated by Jean-Philippe Lang almost 6 years ago

  • Project changed from 2 to Redmine
  • Category set to Roadmap
Actions

Also available in: Atom PDF