-
Notifications
You must be signed in to change notification settings - Fork 131
Open
Description
Describe the bug
The manual check-in endpoint (/control/event/<organizer>/<event>/checkinlists/<checkin_list_id>/) allows users to POST arbitrary OrderPosition IDs. Currently, there is no validation to ensure that the position belongs to the event or check-in list. This can lead to unauthorized check-ins.
Expected behavior
The system should validate that each OrderPosition belongs to the event and is allowed in the check-in list. Invalid positions should be rejected or ignored.
Additional context
- Impact: An attacker could check in attendees to events they shouldn’t have access to by guessing or obtaining valid position IDs.
- Related tests:
test_manual_checkins,test_manual_checkins_revertintests/control/test_checkins.py. - Proposed fix: Add authorization checks in the endpoint:
- Verify
op.order.event == checkin_list.event. - If
checkin_list.all_products=False, verifyop.itemis incheckin_list.limit_products.
- Verify
Metadata
Metadata
Assignees
Labels
No labels