Mar 17, 2026·5 min read·15 visits
A missing authorization flaw in Admidio's forum module (versions 5.0.0-5.0.6) allows any authenticated user to delete arbitrary topics and posts by supplying a valid CSRF token and the target object's UUID.
Admidio versions 5.0.0 through 5.0.6 contain a missing authorization vulnerability within the forum module. This flaw permits any authenticated user, regardless of their privilege level, to permanently delete arbitrary forum topics and posts. The underlying issue is located in the request handler for the forum module, which validates CSRF tokens but fails to verify object ownership or administrative rights before executing data deletion operations.
Admidio is an open-source user management system designed for organizations and groups. It includes a built-in forum module that facilitates internal discussions. Within this module, users interact with topics and individual posts, which are uniquely identified by UUIDs.
The vulnerability, tracked as GHSA-g375-5wmp-xr78, is categorized as a Missing Authorization flaw (CWE-862). It resides in the modules/forum.php component, specifically within the handlers for the topic_delete and post_delete actions. These handlers are responsible for processing POST requests intended to remove content from the forum.
While the application correctly implements Cross-Site Request Forgery (CSRF) protection by validating the adm_csrf_token parameter against the active user session, it completely omits the necessary authorization checks. As a result, the server assumes that any user capable of submitting a valid CSRF token is authorized to delete the requested object.
The root cause of this vulnerability is a failure to enforce access controls on administrative actions within a public-facing endpoint. In standard software architecture, state-changing operations require two distinct security checks: authentication (verifying identity) and authorization (verifying permissions).
In modules/forum.php, the request router uses a switch statement to handle various actions based on the mode parameter. When the mode is set to topic_delete or post_delete, the script validates the incoming CSRF token. Once the CSRF validation passes, the script immediately instantiates a Topic or Post object, loads the record from the database using the provided UUID, and invokes the delete() method.
This implementation breaks the principle of least privilege. In other parts of the Admidio codebase, operations such as editing a post correctly verify ownership or administrative rights by calling specific permission-checking methods, such as $topic->isEditable(). The deletion handlers bypass this architecture entirely, trusting the input without verifying the context of the requesting user.
The vulnerability is clearly visible in the source code of modules/forum.php. The handler for topic deletion reads the target UUID from the request and processes the deletion without any surrounding permission checks.
Below is the vulnerable implementation for topic deletion (lines 98-108):
case 'topic_delete':
// check the CSRF token of the form against the session token
SecurityUtils::validateCsrfToken($_POST['adm_csrf_token']);
$topic = new Topic($gDb);
$topic->readDataByUuid($getTopicUUID);
$topic->delete(); // CRITICAL: Missing authorization check
echo json_encode(array('status' => 'success'));
break;The implementation for individual post deletion follows the exact same flawed pattern (lines 125-134):
case 'post_delete':
// check the CSRF token of the form against the session token
SecurityUtils::validateCsrfToken($_POST['adm_csrf_token']);
$post = new Post($gDb);
$post->readDataByUuid($getPostUUID);
$post->delete(); // CRITICAL: Missing authorization check
echo json_encode(array('status' => 'success'));
break;A complete fix requires integrating the standard Admidio authorization mechanisms before invoking the delete() method. For topics, the code must call $topic->isEditable(). For posts, the system must verify that the requesting user either possesses the isAdministratorForum() privilege or matches the fop_usr_id_create attribute of the post.
Exploiting this vulnerability requires minimal prerequisites. The attacker must possess a valid, standard user account on the target Admidio instance and be able to view the forum module. The attacker also needs the UUID of the target topic or post, which is readily available in the URL structure or DOM of the forum pages.
Once the attacker obtains a target UUID, they can extract their own session cookie and CSRF token from a legitimate request. They then construct a malicious POST request directed at the vulnerable endpoint.
The following command demonstrates the exploitation methodology for deleting a topic:
curl -X POST "https://[TARGET]/adm_program/modules/forum.php?mode=topic_delete&topic_uuid=[TARGET_TOPIC_UUID]" \
-H "Cookie: ADMIDIO_SESSION_ID=[ATTACKER_SESSION_ID]" \
-d "adm_csrf_token=[ATTACKER_CSRF_TOKEN]"The server returns a {"status":"success"} JSON response, confirming that the database operation completed successfully. The specified topic and all associated posts are permanently removed from the system.
The primary impact of this vulnerability is high integrity loss and permanent data destruction. Because Admidio implements a hard delete via the delete() method, removed records are expunged from the underlying relational database without leaving a recoverable "trash" state.
An attacker can systematically eliminate all discussion threads, resulting in severe disruption to organizational communication. Administrators cannot rely on the platform as a persistent record of decisions or discussions, as any member can act as an unauthorized moderator.
The CVSS v3.1 vector is CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N, yielding a score of 6.5 (Medium). The attack complexity is low, as it requires no advanced network positioning or specialized timing. The requirement for a valid user account restricts the attack surface to insiders or compromised accounts, preventing exploitation by unauthenticated external actors.
The vendor addressed this vulnerability in Admidio version 5.0.7 by implementing the missing access control checks in the forum module. Organizations utilizing Admidio versions 5.0.0 through 5.0.6 must prioritize an immediate upgrade to version 5.0.7 or later.
For environments where an immediate update is not feasible, administrators can monitor access logs for anomalous activity. Specifically, security teams should look for POST requests directed at modules/forum.php containing the parameters mode=topic_delete or mode=post_delete.
If these requests originate from IP addresses or session IDs associated with non-administrative users, it indicates active exploitation. Since the vulnerability resides in the application layer logic, Web Application Firewalls (WAFs) cannot easily mitigate the flaw without blocking legitimate administrative deletions.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N| Product | Affected Versions | Fixed Version |
|---|---|---|
Admidio Admidio | 5.0.0 - 5.0.6 | 5.0.7 |
| Attribute | Detail |
|---|---|
| CWE ID | CWE-862 |
| Attack Vector | Network |
| CVSS v3.1 Score | 6.5 |
| Impact | High Integrity (Data Destruction) |
| Exploit Status | PoC Available |
| Authentication Required | Yes (Low Privilege) |
The software does not perform an authorization check when an actor attempts to access a resource or perform an action.
Code16 Sharp versions from 9.0.0 up to (but not including) 9.22.3 are vulnerable to a missing authorization flaw in the Quick Creation Command feature. The ApiEntityListQuickCreationCommandController fails to validate entity-level 'create' policies before returning administrative form designs or processing database modifications. Authenticated users with restricted access can bypass policy boundaries to access creation configurations and insert records.
CVE-2026-49471 is a high-severity security vulnerability in Serena, an AI-assisted coding Model Context Protocol (MCP) toolkit. In versions prior to v1.5.2, Serena's built-in web dashboard exposes an unauthenticated Flask API on a predictable port. Lacking host validation and CSRF protections, this endpoint is vulnerable to DNS Rebinding. An attacker can lure a user to a malicious webpage, bypass the Same-Origin Policy (SOP), rewrite the AI agent's persistent memory, and execute arbitrary commands on the host operating system via the autonomous agent's shell execution engine.
The trapster honeypot package is vulnerable to a remote denial of service (DoS) vulnerability due to uncontrolled recursion during the parsing of malformed DNS compression pointers in the decode_labels function.
A critical Use-After-Free (UAF) memory corruption vulnerability exists in the oneringbuf Rust crate prior to version 0.8.0. The vulnerability allows safe Rust code to instantiate and clone reference wrappers that point to heap-allocated ring buffers. Dropping one wrapper prematurely reclaims the backing memory, leading to dangling pointer references and subsequent Use-After-Free or Double Free states.
Januscape (CVE-2026-53359) is a critical Use-After-Free vulnerability in the x86 Shadow MMU component of the Linux Kernel's KVM subsystem. A logic error in shadow page tracking permits unauthorized page reuse without validating architectural execution roles, leading to dangling pointers in reverse mapping (rmap) tracking entries during guest memory teardown.
CVE-2026-48282 is a critical unauthenticated path traversal and arbitrary file write vulnerability in the Remote Development Services (RDS) component of Adobe ColdFusion. The vulnerability allows a remote, unauthenticated attacker to bypass directory boundaries and write arbitrary files, including CFML-based web shells, onto the host server. This flaw is actively exploited in the wild and enables full unauthenticated remote code execution under the privileges of the ColdFusion service account.