Description
Admidio is an open-source user management solution. Prior to version 5.0.9, Role::stopMembership() does not verify whether removing a user from the administrator role leaves zero administrators. The deprecated Membership::stopMembership() contains this safety check, but the current code path bypasses it. Any administrator can remove the last remaining other administrator, locking the entire system out of administrative access. The exploit does not require concurrent requests; sequential removals produce the same result. This issue has been patched in version 5.0.9.
Problem types
CWE-754: Improper Check for Unusual or Exceptional Conditions
Product status
References
github.com/...dmidio/security/advisories/GHSA-c7xm-r6vj-8vg6
github.com/...dmidio/security/advisories/GHSA-c7xm-r6vj-8vg6
github.com/Admidio/admidio/releases/tag/v5.0.9