Skip to content

[Security] Grading config endpoints lack consistent integration-token enforcement #318

Description

@ArthurCRodrigues

Summary

Grading configuration endpoints appear under-protected: integration-token enforcement is inconsistent.

Where

  • Repository: autograder
  • Component: web/api/v1/grading_configs.py

Findings

require_integration_token is only attached to GET /api/v1/configs/id/{config_id} while other config endpoints are open in the router:

  • POST /api/v1/configs
  • GET /api/v1/configs/{external_assignment_id}
  • GET /api/v1/configs
  • PUT /api/v1/configs/{config_id}
  • PUT /api/v1/configs/external/{external_assignment_id}

Expected behavior

All machine-to-machine grading configuration endpoints should enforce the integration auth boundary consistently.

Impact

Unauthorized clients may create/read/update grading configs.

References

Found during QA refinement for api-grader-prisma#242.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions