T05 · Unauthorized Access and Privilege Escalation
Warning
- Location
- SKILL.md:53
- Finding
- Overly Broad Event Modification Rights Granted to Attendees## Vulnerability Details **File Location**: `SKILL.md`, lines 53–60 **Vulnerability Type**: Excessive attendee permissions violating least privilege **Risk Level**: Medium **Code Snippet**: ```text ### 2. Attendee permissions (attendee_ability) The tool defaults to `attendee_ability: "can_modify_event"`, allowing attendees to edit events and manage participants. | Permission value | Capability | |------------------|------------| | `none` | No permission | | `can_see_others` | Can view the participant list | | `can_invite_others` | Can invite others | | `can_modify_event` | Can edit the event (recommended) | ``` The original file presents this guidance in Chinese; the excerpt above is an English translation of the complete affected segment. ### Technical Analysis The Skill states that the tool grants `can_modify_event` by default and recommends that permission. This gives every attendee the ability to edit the event and manage participants, even though ordinary attendance does not require either capability. This configuration violates the principle of least privilege. Event visibility, participant-list visibility, invitation rights, and full event-modification rights are distinct authorization levels. Selecting the broadest level by default removes the organizer's opportunity to decide whether attendees should receive elevated rights. The same insecure default is reinforced at lines 174 and 177 as the recommended solution for participant visibility and event modification issues. Participant visibility should instead be addressed with `can_see_others` when appropriate; it does not inherently require full modification rights. ### Attack Path 1. An organizer or agent creates an event according to the Skill's guidance. 2. The calendar tool applies `attendee_ability: "can_modify_event"` by default. 3. One or more ordinary invitees receive event-editing and participant-management privileges without a separate auth ...[truncated 800 chars]
- Remediation
- ## Remediation Suggestions 1. Change the default `attendee_ability` to `none`, granting ordinary attendees no event-management privileges. 2. Use `can_see_others` only when attendees need to view the participant list. 3. Use `can_invite_others` only when the organizer explicitly delegates invitation authority. 4. Require explicit, informed organizer confirmation before applying `can_modify_event`. 5. Clearly display which attendees will receive elevated rights and what those rights permit. 6. Update the troubleshooting guidance at lines 174 and 177 so that participant visibility does not recommend full modification rights. 7. Where the underlying API permits it, grant elevated privileges only to specifically selected trusted participants rather than all attendees. 8. Add tests or policy validation that reject broad modification permissions unless an explicit authorization flag is present.
