Skip to content
Heist/ feed
Back to feed
Medium

Admidio has Missing CSRF Validation on Role Delete, Activate, and Deactivate Actions

Type: advisorySources: OSV

Admidio is an open-source user management solution. In versions 5.0.0 through 5.0.6, the delete, activate, and deactivate modes in modules/groups-roles/groups_roles.php perform destructive state changes on organizational roles but never validate an anti-CSRF token. The client-side UI passes a CSRF token to callUrlHideElement(), which includes it in the POST body, but the server-side handlers ignore $_POST["adm_csrf_token"] entirely for these three modes. An attacker who can discover a role UUID (visible in the public cards view when the module is publicly accessible) can embed a forged POST form on any external page and trick any user with the rol_assign_roles right into deleting or toggling roles for the organization. Role deletion is permanent and cascades to all memberships, event associations, and rights data. If exploited, an attacker can trick any user with delegated role-assignment rights into permanently deleting roles, mass-revoking all associated memberships and access to events, documents, and mailing lists, or silently activating or deactivating entire groups, with target role UUIDs trivially harvested from the unauthenticated public cards view and no undo path short of a database restore. This issue has been fixed in version 5.0.7.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-32816
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 01:29 UTC · Revision 1

Source evidence

Admidio has Missing CSRF Validation on Role Delete, Activate, and Deactivate Actions

core-osv · Original source

Published 19 Mar 2026, 22:57 UTC

Admidio is an open-source user management solution. In versions 5.0.0 through 5.0.6, the delete, activate, and deactivate modes in modules/groups-roles/groups_roles.php perform destructive state changes on organizational roles but never validate an anti-CSRF token. The client-side UI passes a CSRF token to callUrlHideElement(), which includes it in the POST body, but the server-side handlers ignore $_POST["adm_csrf_token"] entirely for these three modes. An attacker who can discover a role UUID (visible in the public cards view when the module is publicly accessible) can embed a forged POST form on any external page and trick any user with the rol_assign_roles right into deleting or toggling roles for the organization. Role deletion is permanent and cascades to all memberships, event associations, and rights data. If exploited, an attacker can trick any user with delegated role-assignment rights into permanently deleting roles, mass-revoking all associated memberships and access to events, documents, and mailing lists, or silently activating or deactivating entire groups, with target role UUIDs trivially harvested from the unauthenticated public cards view and no undo path short of a database restore. This issue has been fixed in version 5.0.7.

osv:CVE-2026-32816
Complete source record
{
  "id": "ca6e68e784aae600941ebe23ca889e1c080f0555486797c220eb09f58521fbcd",
  "url": "https://osv.dev/vulnerability/CVE-2026-32816",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Admidio has Missing CSRF Validation on Role Delete, Activate, and Deactivate Actions",
    "summary": "Admidio is an open-source user management solution. In versions 5.0.0 through 5.0.6, the delete, activate, and deactivate modes in modules/groups-roles/groups_roles.php perform destructive state changes on organizational roles but never validate an anti-CSRF token. The client-side UI passes a CSRF token to callUrlHideElement(), which includes it in the POST body, but the server-side handlers ignore $_POST[\"adm_csrf_token\"] entirely for these three modes. An attacker who can discover a role UUID (visible in the public cards view when the module is publicly accessible) can embed a forged POST form on any external page and trick any user with the rol_assign_roles right into deleting or toggling roles for the organization. Role deletion is permanent and cascades to all memberships, event associations, and rights data. If exploited, an attacker can trick any user with delegated role-assignment rights into permanently deleting roles, mass-revoking all associated memberships and access to events, documents, and mailing lists, or silently activating or deactivating entire groups, with target role UUIDs trivially harvested from the unauthenticated public cards view and no undo path short of a database restore. This issue has been fixed in version 5.0.7.",
    "evidence": "osv:CVE-2026-32816",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-32816",
      "aliases": [
        "CVE-2026-32816",
        "GHSA-wwg8-6ffr-h4q2"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/admidio/admidio",
              "type": "GIT",
              "events": [
                {
                  "introduced": "59b4888d2be8acb9801f3024258663f7a787518c"
                },
                {
                  "fixed": "c06fc2f5491170013b4af2b5d6888bc62a3edbf9"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "5.0.0"
                      },
                      {
                        "fixed": "5.0.7"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "c06fc2f5491170013b4af2b5d6888bc62a3edbf9"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v5.0.7"
                  },
                  {
                    "cpe": "cpe:2.3:a:admidio:admidio:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "5.0.0"
                      },
                      {
                        "fixed": "5.0.7"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v5.0.6",
            "v5.0.5",
            "v5.0.4",
            "v34",
            "v5.0.3",
            "v5.0.2",
            "v5.0.1",
            "v5.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-32816.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:48.751435269Z",
      "provider": "osv",
      "references": [
        "https://github.com/Admidio/admidio/releases/tag/v5.0.7",
        "https://github.com/Admidio/admidio/security/advisories/GHSA-wwg8-6ffr-h4q2",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/32xxx/CVE-2026-32816.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-32816"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-352"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/32xxx/CVE-2026-32816.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-32816",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 516993,
  "published_at": "2026-03-19T22:57:19.068+00:00"
}