CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



GHSA-G375-5WMP-XR78

GHSA-g375-5wmp-xr78: Missing Authorization Allows Arbitrary Forum Deletion in Admidio

Amit Schendel
Amit Schendel
Senior Security Researcher

Mar 17, 2026·5 min read·18 visits

Executive Summary (TL;DR)

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.

Vulnerability Overview

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.

Root Cause Analysis

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.

Code Analysis

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.

Exploitation

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.

Impact Assessment

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.

Remediation and Mitigation

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.

Official Patches

AdmidioAdmidio Release 5.0.7 with missing authorization fixes

Technical Appendix

CVSS Score
6.5/ 10
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N

Affected Systems

Admidio 5.0.0Admidio 5.0.1Admidio 5.0.2Admidio 5.0.3Admidio 5.0.4Admidio 5.0.5Admidio 5.0.6

Affected Versions Detail

Product
Affected Versions
Fixed Version
Admidio
Admidio
5.0.0 - 5.0.65.0.7
AttributeDetail
CWE IDCWE-862
Attack VectorNetwork
CVSS v3.1 Score6.5
ImpactHigh Integrity (Data Destruction)
Exploit StatusPoC Available
Authentication RequiredYes (Low Privilege)

MITRE ATT&CK Mapping

T1068Exploitation for Privilege Escalation
Privilege Escalation
T1548Abuse Elevation Control Mechanism
Privilege Escalation
CWE-862
Missing Authorization

The software does not perform an authorization check when an actor attempts to access a resource or perform an action.

Known Exploits & Detection

Researcher PoCcURL command demonstrating direct object deletion via the forum.php endpoint

Vulnerability Timeline

Vulnerability published via GitHub Security Advisory (GHSA-g375-5wmp-xr78)
2026-03-16
Vendor released patch in Admidio version 5.0.7
2026-03-16

References & Sources

  • [1]GitHub Security Advisory: GHSA-g375-5wmp-xr78
  • [2]Admidio GitHub Repository
  • [3]Admidio Release 5.0.7

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•40 minutes ago•CVE-2026-54658
9.8

CVE-2026-54658: SQL Injection via Parameter Escaping Bypass in @hypequery/clickhouse

A critical SQL injection vulnerability was identified in @hypequery/clickhouse prior to version 2.0.2. The escapeValue utility function in packages/clickhouse/src/core/utils.ts fails to escape literal backslash characters before replacing single quotes. This allows remote, unauthenticated attackers to supply input parameters ending in a backslash, neutralizing the closing quote character inside ClickHouse databases and enabling arbitrary SQL execution.

Alon Barad
Alon Barad
2 views•5 min read
•about 2 hours ago•CVE-2026-54650
8.6

CVE-2026-54650: Remote Path Traversal in openhole-server and openhole CLI Client

A critical path traversal vulnerability (CWE-22) in openhole-server version 0.1.1 and earlier allows remote, unauthenticated attackers to traverse directories and access restricted files or endpoints on local backend services exposed via the tunnel proxy. The issue stems from improper handling of decoded URL paths inside the proxy handler, which are then reconstructed and executed literally by the CLI client.

Alon Barad
Alon Barad
4 views•5 min read
•about 3 hours ago•CVE-2026-54639
8.8

CVE-2026-54639: Prototype Pollution and Patch Bypass in style-dictionary

A critical prototype pollution vulnerability (CVE-2026-54639) exists in style-dictionary versions 4.3.0 through 5.4.3 due to unsafe object traversal in the convertTokenData utility. Although a patch was released in version 5.4.4 targeting '__proto__', a complete bypass is possible using 'constructor.prototype', leading to persistent global prototype pollution and potential remote code execution.

Alon Barad
Alon Barad
4 views•6 min read
•about 4 hours ago•CVE-2025-6120
5.3

CVE-2025-6120: Heap-Based Buffer Overflow in Assimp HL1MDLLoader read_meshes

CVE-2025-6120 is a critical memory corruption vulnerability in the Open Asset Import Library (Assimp) affecting versions up to and including 5.4.3. The flaw is located in the Half-Life 1 MDL file format loader, specifically within the read_meshes function in HL1MDLLoader.cpp. It arises due to a lack of verification checks on array, bone, skin, or vertex indices parsed directly from a binary stream, resulting in a heap-based buffer overflow or out-of-bounds memory access.

Alon Barad
Alon Barad
4 views•5 min read
•about 4 hours ago•GHSA-6XX4-9WP6-65P7
6.5

GHSA-6XX4-9WP6-65P7: Arbitrary Local File Disclosure via UNIX Symlink Following in skilo

A local file disclosure vulnerability exists in the Rust-based package skilo. When copying files during skill installation, the application recursively traverses directories but dereferences symbolic links, resulting in unauthorized local file reading.

Amit Schendel
Amit Schendel
3 views•5 min read
•about 5 hours ago•CVE-2026-54659
6.9

CVE-2026-54659: Directory Traversal and File Existence Oracle in Pagy I18n module

Pagy, an agile pagination gem for plain Ruby, contains a directory traversal vulnerability in its internationalization (I18n) module prior to version 43.5.6. An unauthenticated remote attacker can exploit this flaw by submitting path traversal sequences to the locale setter, allowing them to probe the server filesystem. The resulting behavior creates a highly reliable file existence and readability side-channel oracle for YAML files.

Alon Barad
Alon Barad
3 views•6 min read