Skip to content

Security P3 — Fix authenticated IDORs: summaries, enhancements, messaging, dashboards, analytics #63

Description

@franciszver

Part of #59.

Part of the broken-access-control remediation epic. Depends on Phase 1. These routes authenticate correctly but never check object ownership.

Findings addressed

Definition of Done

  • Each route calls the Phase‑1 helper (or equivalent) before returning data.
  • Cross-user access returns 403; owner/related/admin still works.
  • dashboards no longer enumerates all students for non-admins.

Affected files

src/api/handlers/summaries.py, enhancements.py, messaging.py, dashboards.py, advanced_analytics.py

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions