Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
PR:L reflects mandatory authentication; A:L added over NVD's A:N because deletion of tickets, clients, and users constitutes meaningful availability impact.
Primary rating from Vendor (TuranSec).
CVSS VectorVendor: TuranSec
Lifecycle Timeline
2DescriptionCVE.org
A broken access control vulnerability in Peppermint Lab Peppermint through commit ba6e217 exists because the Config.roles_active flag defaults to false, causing all permission checks on ticket, client, and user handlers to behave as no-ops on default installations. All authenticated users bypass ownership and administrative access controls. An attacker with any user account can read, modify, or delete tickets, clients, and users belonging to any other account.
AnalysisAI
Broken access control in Peppermint helpdesk (through commit ba6e217) allows any authenticated user to read, modify, or delete tickets, clients, and users owned by any other account. The root cause is that the Config.roles_active flag defaults to false on all default installations, rendering every permission check on ticket, client, and user handlers a no-op - ownership and administrative access controls are silently bypassed. No public exploit code or active exploitation has been identified at time of analysis, but the flaw is trivially exploitable by any user with a valid account on a default-configured instance.
Technical ContextAI
Peppermint is an open-source helpdesk and ticket management application by Peppermint Lab (CPE: cpe:2.3:a:peppermint_lab:peppermint:*:*:*:*:*:*:*:*). The vulnerability is classified as CWE-284 (Improper Access Control). The application's authorization layer relies on a global flag, Config.roles_active, to gate all role-based permission checks across ticket, client, and user route handlers. Because this flag defaults to false, the conditional logic that enforces ownership and administrative boundaries evaluates to a no-op on every default deployment - the checks are present in code but never executed. This is a classic misconfiguration-as-default flaw rather than a logic inversion bug: the feature exists but ships disabled, leaving no access enforcement in place unless an administrator explicitly enables role checking.
RemediationAI
No vendor-released patched version has been independently confirmed at time of analysis - the only reference points to the upstream GitHub repository (https://github.com/Peppermint-Lab/peppermint) rather than a tagged release or security advisory. Operators should monitor that repository for commits or releases that address the Config.roles_active default. As an immediate compensating control, administrators should locate the application configuration and explicitly set Config.roles_active to true, then validate that role-based permission checks are enforced across ticket, client, and user endpoints. If the configuration cannot be changed without redeployment, restricting Peppermint access to a single-organization trust boundary (i.e., ensuring no untrusted users can register or log in) significantly reduces the practical attack surface, at the trade-off of eliminating any multi-tenant or customer-portal use case. Network-level controls such as placing Peppermint behind a VPN or IP allowlist reduce exposure to external attackers but do not address insider or lateral-movement scenarios.
More in Peppermint
View allAn issue in PeppermintLabs Peppermint v.0.2.4 and before allows a remote attacker to obtain sensitive information and ex
An issue in the password reset function of Peppermint v0.2.4 allows attackers to access the emails and passwords of the
Peppermint Ticket Management before 0.2.4 allows remote attackers to read arbitrary files via a /api/v1/users/file/downl
Unauthenticated session-token forgery in Peppermint (an open-source self-hosted helpdesk/ticketing platform) versions th
Peppermint Ticket Management through 0.2.4 allows remote attackers to read arbitrary files via a /api/v1/ticket/1/file/d
Broken access control in Peppermint Lab's Peppermint helpdesk platform (through commit ba6e217) allows any authenticated
Session invalidation without authorization in Peppermint through 0.5.5 allows any authenticated user to forcibly termina
Same weakness CWE-284 – Improper Access Control
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-56025
GHSA-jv42-7r5q-7p5r