GitHub Advisoryadvisory · Packagist

GHSA-7pfv-hr63-h7cw Admidio: Event participation IDOR - non-leaders can register other users for events via user_uuid parameter

MEDIUM Published 2026-03-09 Modified 2026-03-10 Official page ↗
Aliases
CVE-2026-30927
Ecosystem
Packagist
Packages
admidio/admidio
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:N
Weaknesses
CWE-639
Reviewed
2026-03-09

Affected packages

• Packagist admidio/admidio: < 5.0.6 → fixed in 5.0.6

Description

Vulnerability In `modules/events/events_function.php`, the event participation logic allows any user who can participate in an event to register OTHER users by manipulating the `user_uuid` GET parameter. Line 47: `$getUserUuid = admFuncVariableIsValid($_GET, 'user_uuid', 'uuid', ...)` Line 424: `if ($event->possibleToParticipate() || $participants->isLeader($gCurrentUserId))` The condition uses `||` (OR), meaning if `possibleToParticipate()` returns true (event is open for participation), ANY user - not just leaders - can specify a different `user_uuid` and register/cancel participation for that user. The code then operates on `$user->getValue('usr_id')` (the target user from user_uuid) rather than the current user. Impact • Register unwilling users for events (potential harassment/spam) • Cancel other users' event participation • Manipulate event participant counts and comments • If events have participation limits, fill slots with unwanted registrations Fix For non-leader users, force `user_uuid` to the current user: ```php if (!$participants->isLeader($gCurrentUserId)) { $getUserUuid = $gCurrentUser->getValue('usr_uuid'); } ```

Related

Alias · CVE (1)

  • CVE-2026-30927 Admidio is an open-source user management solution. vulnerability

Weakness · CWE (1)

  • CWE-639 Authorization Bypass Through User-Controlled Key weakness

References