Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with low-privileged GLPI account
-
DeliveryEnumerate API v2 update endpoints
-
ExploitSend crafted API request bypassing UI authz
-
ExecutionPerform forbidden update (team member/Transfer)
-
ImpactTamper with ticket/entity data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a valid but low-privileged authenticated GLPI account (PR:L) and use of the new REST API v2 (the 'HL' API) rather than the web UI - the flaw exists only in the API update flow, which failed to re-apply the per-item and right-based authorization checks the UI enforces. Concretely, the abusable operations are ITIL ticket team-member add/remove/list (endpoints like /Assistance/Ticket/{id}/TeamMember, needing the object's READ and canAssign rights) and entity Transfer (needing the Transfer READ right), plus the statusByService call. Limiting factors: the target must be running GLPI 11.0.0-11.0.7 (the v2 API is 11.x-only), the attacker must already have a functioning account, and AT:P indicates not all objects/actions are uniformly reachable; there is no unauthenticated or UI-interaction path. |
| Impact | This is a genuine but moderate-priority authorization flaw (CWE-862, broken access control), not a high-CVSS-but-empty finding. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:L, base 6.0) is credible and integrity-focused: a network attacker who already holds a low-privileged authenticated account can perform update operations (e.g., assigning/removing ITIL ticket team members, triggering entity Transfer) that GLPI's UI would deny for that user. The commit diff corroborates the mechanism - the API v2 (HL API) controllers lacked |
| Exploit ScenarioDerived | An attacker holding a low-privileged authenticated GLPI account (e.g., a basic technician or self-service user) calls the v2 API directly rather than using the web UI - for example POSTing to /Assistance/Ticket/{id}/TeamMember to add or reassign a ticket's assignee/observer, or POSTing to /Transfer - an action the UI would forbid for that profile. Because the API update flow skipped the per-item authorization checks, the operation succeeds, letting the attacker tamper with ticket assignments or entity data. No public exploit code was identified, but the fixing commit and its tests document the exact vulnerable endpoints. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
Missing authorization enforcement in GLPI's REST API v2 (the 'HL' API) lets a low-privileged authenticated user perform ticket team-member add/remove/list operations and entity transfers that the web interface would deny, because the API update flow does not re-apply per-object and per-right checks. Only GLPI 11.0.0 through 11.0.7 are affected - API v2 exists only in the 11.x line - and exploitation requires a valid, working low-privileged account using the API rather than the UI (authentication required, PR:L in both the vendor CVSS 4.0 vector and our assessed CVSS 3.1 vector). Impact is integrity-dominant (I:H) with limited confidentiality/availability effects; a vendor patch is available in 11.0.8 and no public exploit code or confirmed active exploitation was identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade to GLPI 11.0.8, which is the version that adds the missing authorization checks in ITILController (ticket team member read/add/remove now require the object's READ right plus canAssign() for mutations) and in CoreController (statusByService now requires the Transfer READ right); the fix is captured in commit 0fdd973c4bb3f203c6905a62a93512e5ca8604c0 and the release is at https://github.com/glpi-project/glpi/releases/tag/11.0.8, with details in https://github.com/glpi-project/glpi/security/advisories/GHSA-p68f-rv24-mc54. If immediate upgrade is not possible, compensating controls are: disable or block the REST API v2 endpoints entirely at the reverse proxy or web server for untrusted networks (trade-off: this breaks any integrations or scripts using the HL API and must be paired with a UI-only access model), restrict network reachability of the GLPI API to trusted management segments only (trade-off: remote/mobile clients and external integrations lose access), and audit or reduce the profile rights granted to low-privileged accounts - in particular withdraw Transfer rights and ticket team-assignment (canAssign) capabilities from accounts that do not need them, since the flaw is only meaningful when a low-privileged account can reach objects it should not modify (trade-off: tighter profiles may disrupt legitimate helpdesk workflows). As detection, review GLPI API access logs and ticket history for unexpected team-member additions/removals and for Transfer operations performed by accounts lacking the corresponding UI rights, since the API path will show these actions even though the UI would have refused them.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Root cause is CWE-862 (Missing Authorization): the new GLPI high-level API (HL API v2, introduced in GLPI 11.x) routes requests through controllers under src/Glpi/Api/HL/Controller/ and relied on the UI layer's rights model without consistently re-checking it. The vendor fix commit 0fdd973c4bb3f203c6905a62a93512e5ca8604c0 adds explicit checks in two controllers. In ITILController.php, the getTeamMembers, getTeamMembersByRole, addTeamMember and removeTeamMember handlers now call $item->can($item->getID(), READ) and, for the mutating operations, additionally $item->canAssign() before proceeding, returning an access-denied response otherwise. In CoreController.php, statusByService now requires Session::haveRight(Transfer::$rightname, READ). Ticket team-member endpoints are reached at paths such as /Assistance/Ticket/{id}/TeamMember (POST to add, DELETE to remove, GET to list, plus role-scoped GET variants like .../TeamMember/requester|observer|assigned), while entity transfer is reached via /Transfer. The accompanying functional tests assert HTTP access-denied responses when the corresponding profile right (Transfer or Ticket) is set to 0, confirming that the defect class is an authorization-check omission in the API layer rather than an authentication bypass of credentials. The vendor's CVSS 4.0 vector marks AT:P (attack requirements present), reflecting that not every object or action is uniformly reachable and that preconditions (the specific object rights, target version) matter.
Know when Glpi gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N
Remote API call by an authenticated low-priv user (PR:L, AV:N, AC:L); primary impact is unauthorized updates (I:H) with minor info leak via GET endpoints (C:L) and limited availability effect (A:L).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
GLPI is a free asset and IT management software package. From 11.0.0 until 11.0.8, a low-privileged authenticated user can use the new API (v2) to perform update operations that the same user is normally forbidden to perform through the user interface. The API update flow does not consistently enforce the applicable authorization checks. This issue is fixed in version 11.0.8.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
inc/central.class.php in GLPI before 0.84.2 does not attempt to make install/install.php unavailable after an installati
GLPI IT asset management platform contains an unauthenticated SQL injection through the inventory endpoint. Attackers ca
/vendor/htmlawed/htmlawed/htmLawedTest.php in the htmlawed module for GLPI through 10.0.2 allows PHP code injection. Rat
GLPI is a Free Asset and IT Management Software package, Data center management, ITIL Service Desk, licenses tracking an
inc/ticket.class.php in GLPI 0.83.9 and earlier allows remote attackers to unserialize arbitrary PHP objects via the _pr
GLPI through 10.0.12 allows CSV injection by an attacker who is able to create an asset with a crafted title. Rated high
In GLPI before 9.4.6, an attacker can execute system commands by abusing the backup functionality. Rated high severity (
GLPI through 9.4.3 is prone to account takeover by abusing the ajax/autocompletion.php autocompletion feature. Rated hig
SQL injection vulnerability in ajax/getDropdownValue.php in GLPI before 0.85.1 allows remote authenticated users to exec
GLPI is a Free Asset and IT Management Software package. Rated high severity (CVSS 8.1), this vulnerability is remotely
Multiple SQL injection vulnerabilities in GLPI before 0.83.9 allow remote attackers to execute arbitrary SQL commands vi
Multiple SQL injection vulnerabilities in GLPI 0.90.4 allow an authenticated remote attacker to execute arbitrary SQL co
EUVD-2026-87273
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB