GLPI
CVE-2025-59935
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach GLPI inventory endpoint (AV:N)
-
DeliverySubmit crafted inventory payload
-
ExploitStore XSS without authentication
-
ExecutionAdmin views inventory record (UI:R)
-
PersistScript executes in admin session
-
ImpactHijack session / act as user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation targets GLPI's inventory endpoint (the agent/native inventory ingestion interface), which can accept data from unauthenticated sources - this is the specific feature required, so environments that expose native inventory intake to untrusted networks are most at risk. The attack is a two-stage stored XSS: the attacker can inject without credentials (PR:N), but the payload only fires when an authenticated GLPI user subsequently renders the poisoned inventory record in the web UI (UI:R), which is the key limiting factor. Risk is reduced where the inventory endpoint is network-restricted, requires agent authentication/tokens, or is not exposed to untrusted hosts; affected versions are GLPI 10.0.0 through 10.0.20, fixed in 10.0.21. |
| Impact | This is a moderate-priority vulnerability rather than an emergency, but the unauthenticated storage vector raises its practical concern above the 6.5 CVSS base. The CVSS vector (AV:N/AC:L/PR:N/UI:R) shows a network-reachable, low-complexity flaw that requires no attacker privileges but does require victim interaction (an authenticated user viewing the injected inventory data). EPSS is low at 0.29% (20th percentile), indicating no statistical signal of imminent mass exploitation, and the issue is NOT on CISA KEV, so there is no evidence of active exploitation. No POC was provided in the intelligence set. The one notable tension is impact scoring: the supplied vector rates confidentiality as C:H with S:U, which is unusually high for a stored XSS where the script typically executes in a victim's browser session and would more conventionally map to a scope change with lower, split C/I impact - this discrepancy should be verified against the GitHub advisory (GHSA-j8vv-9f8m-r7jx). Overall: a real and patchable issue worth prioritizing for internet-exposed GLPI instances, but not a drop-everything KEV-class threat. |
| Exploit ScenarioDerived | An unauthenticated attacker submits a crafted inventory payload to GLPI's inventory endpoint containing a stored XSS script. When a logged-in GLPI operator or administrator later opens the affected asset/inventory record in the web console, the script executes in their authenticated session, enabling session hijacking or actions performed as that user. No public exploit code was identified at time of analysis, and successful execution depends on an authenticated user viewing the malicious entry (UI:R). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Unauthenticated stored cross-site scripting in GLPI 10.0.0 through 10.0.20 lets a remote attacker push a persistent XSS payload into the inventory ingestion endpoint, which then executes in the browser of any authenticated user who later renders the poisoned inventory record in the web UI. No public exploit code has been identified at time of analysis and the CVE is not listed in CISA KEV, and EPSS is low at 0.29% (20th percentile); however, the credential-free write path combined with execution inside a privileged user session makes this a moderate-priority issue whose practical concern exceeds its 6.5 base score. The vendor shipped a fix in GLPI 10.0.21.
RemediationAI
Upgrade to GLPI 10.0.21, the vendor-released patch version that resolves the stored XSS in the inventory endpoint; consult the advisory at https://github.com/glpi-project/glpi/security/advisories/GHSA-j8vv-9f8m-r7jx for the official fix details. Where an immediate upgrade is not possible, restrict the native inventory ingestion endpoint at the network layer so only trusted agent subnets or management hosts can reach it, using firewall rules or reverse-proxy allowlists; the trade-off is that legitimate agents reporting from other networks will stop being inventoried until those paths are re-permitted. Where GLPI's inventory configuration supports agent authentication or per-agent tokens, enable and enforce them so unauthenticated submissions are rejected, understanding that agents must be reconfigured with matching credentials and could fail to check in until updated. Additional hardening such as browser content-security-policy restrictions on the GLPI web UI can reduce script execution impact but does not remove the underlying injection, so it should be treated only as a temporary adjunct to patching.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation / cross-site scripting) in GLPI's inventory intake, the interface that receives asset data from GLPI agents and native inventory sources. Because that endpoint accepts data from unauthenticated callers, an attacker does not need credentials (the assessed vector includes PR:N) to persist a malicious payload; the stored value is later rendered in the GLPI web UI when an authenticated administrator or technician views the affected inventory record, triggering script execution in that user's session (UI:R). This two-stage chain is why the independent assessment rates scope as changed (S:C) with low confidentiality and integrity impact (C:L/I:L) rather than the vendor's S:U rating, since code executes in a more privileged browser context than the one used to inject it. The affected software component is captured by CPE cpe:2.3:a:glpi-project:glpi:*:*:*:*:*:*:*:*, covering releases 10.0.0 up to but not including 10.0.21. Environments that restrict native inventory ingestion to trusted agent networks or that require agent authentication/tokens materially reduce exposure.
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
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
Unauthenticated network injection (PR:N/AV:N/AC:L) but requires an authenticated user to render it (UI:R); stored XSS executing in the victim's browser context is a scope change (S:C) with limited confidentiality/integrity impact (C:L/I:L).
Primary rating from Vendor (github).
CVSS VectorVendor: github
DescriptionCVE.org
GLPI is a free asset and IT management software package. Starting in version 10.0.0 and prior to version 10.0.21, an unauthenticated user can store an XSS payload through the inventory endpoint. Users should upgrade to 10.0.21 to receive a patch.
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
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Affected Products (CPE)CVE.org
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
NVD
CVE.org
EPSS
GitHub
Exploit-DB