Admidio is an open-source user management solution. `modules/categories.php` checks that the supplied `type` parameter (`ANN`, `EVT`, `ROL`, `USF`, …) corresponds to a module the actor administers. The follow-up "is this specific category editable by me" check at lines 56-61 is dead code because it compares `$getType` (a category-type code) against mode names (`edit`/`save`/`delete`); the condition is permanently false, so `$category->isEditable()` is never invoked. Prior to version 5.0.10, the `delete`, `sequence`, and `save` switch cases load the category by the supplied UUID and act on it without re-checking that the category belongs to a module the actor administers. A user holding only one module-administrator right can therefore destroy or reorder empty categories belonging to *other* modules — for example, an announcements administrator can delete role categories, profile-field categories, or weblink categories that they have no right to touch. Version 5.0.10 fixes the issue.

Project Subscriptions

Vendors Products
Admidio Subscribe
Admidio Subscribe
Advisories
Source ID Title
Github GHSA Github GHSA GHSA-rwjr-qjj3-mq2f Admidio module-administrator can delete or reorder categories owned by other modules via dead authorization check in `modules/categories.php`
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Wed, 12 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
First Time appeared Admidio
Admidio admidio
Vendors & Products Admidio
Admidio admidio

Wed, 12 Aug 2026 13:30:00 +0000

Type Values Removed Values Added
Description Admidio is an open-source user management solution. `modules/categories.php` checks that the supplied `type` parameter (`ANN`, `EVT`, `ROL`, `USF`, …) corresponds to a module the actor administers. The follow-up "is this specific category editable by me" check at lines 56-61 is dead code because it compares `$getType` (a category-type code) against mode names (`edit`/`save`/`delete`); the condition is permanently false, so `$category->isEditable()` is never invoked. Prior to version 5.0.10, the `delete`, `sequence`, and `save` switch cases load the category by the supplied UUID and act on it without re-checking that the category belongs to a module the actor administers. A user holding only one module-administrator right can therefore destroy or reorder empty categories belonging to *other* modules — for example, an announcements administrator can delete role categories, profile-field categories, or weblink categories that they have no right to touch. Version 5.0.10 fixes the issue.
Title Admidio module-administrator can delete or reorder categories owned by other modules via dead authorization check in `modules/categories.php`
Weaknesses CWE-639
CWE-863
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N'}


Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-12T15:23:07.680Z

Reserved: 2026-05-18T22:25:21.259Z

Link: CVE-2026-47227

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-12T14:17:53.600

Modified: 2026-08-12T16:17:03.670

Link: CVE-2026-47227

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-12T18:15:02Z

Weaknesses