Skip to content
Heist/ feed
Back to feed
Medium

Admidio: Missing Minimum Administrator Check in Role Membership Removal

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-41662
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 13:55 UTC · Revision 1

Source evidence

Admidio: Missing Minimum Administrator Check in Role Membership Removal

core-osv · Original source

Published 7 May 2026, 02:59 UTC

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.

osv:CVE-2026-41662
Complete source record
{
  "id": "ee88158ba3d425498926db3103b5cec77bfd7a5c76dbeb36389d0c7218e86e6d",
  "url": "https://osv.dev/vulnerability/CVE-2026-41662",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Admidio: Missing Minimum Administrator Check in Role Membership Removal",
    "summary": "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.",
    "evidence": "osv:CVE-2026-41662",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-41662",
      "aliases": [
        "CVE-2026-41662",
        "GHSA-c7xm-r6vj-8vg6"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/admidio/admidio",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "d39915697e6e0be04d02d55a46c631f53013aea6"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "5.0.9"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "d39915697e6e0be04d02d55a46c631f53013aea6"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v5.0.9"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "5.0.9"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v5.0.8",
            "v5.0.7",
            "v5.0.6",
            "v5.0.5",
            "v5.0.4",
            "v34",
            "v5.0.3",
            "v5.0.2",
            "v5.0.1",
            "v5.0.0",
            "v5.0-Beta.3",
            "v5.0-Beta.2",
            "v5.0-Beta.1",
            "v4.3-Beta.1",
            "v4.1-Beta.2",
            "v4.0-Beta.1",
            "v3.2-Beta.1",
            "v3.1.5",
            "v3.0.6",
            "3.0-Beta.3",
            "3.0-Beta.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-41662.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:36.058362462Z",
      "provider": "osv",
      "references": [
        "https://github.com/Admidio/admidio/releases/tag/v5.0.9",
        "https://github.com/Admidio/admidio/security/advisories/GHSA-c7xm-r6vj-8vg6",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41662.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-41662"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-754"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41662.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-41662",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 503361,
  "published_at": "2026-05-07T02:59:50.508+00:00"
}