Skip to main content

GLPI CVE-2025-59935

MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2025-12-16 security-advisories@github.com
6.5
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach GLPI inventory endpoint (AV:N)
  2. Delivery
    Submit crafted inventory payload
  3. Exploit
    Store XSS without authentication
  4. Execution
    Admin views inventory record (UI:R)
  5. Persist
    Script executes in admin session
  6. Impact
    Hijack 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).

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Vendor (github) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
vuln.today AI 6.1 MEDIUM

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).

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

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

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Medium
popular open-source IT asset/service-desk tool, common in IT shops not everywhere
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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

cpe:2.3:a:glpi-project:glpi:*:*:*:*:*:*:*:*

More in Glpi

View all
CVE-2013-5696 MEDIUM POC
6.8 Sep 23

inc/central.class.php in GLPI before 0.84.2 does not attempt to make install/install.php unavailable after an installati

CVE-2025-24799 HIGH POC
7.5 Mar 18

GLPI IT asset management platform contains an unauthenticated SQL injection through the inventory endpoint. Attackers ca

CVE-2022-35914 CRITICAL POC
9.8 Sep 19

/vendor/htmlawed/htmlawed/htmLawedTest.php in the htmlawed module for GLPI through 10.0.2 allows PHP code injection. Rat

CVE-2022-31056 CRITICAL POC
9.8 Jun 28

GLPI is a Free Asset and IT Management Software package, Data center management, ITIL Service Desk, licenses tracking an

CVE-2013-2225 MEDIUM POC
6.4 May 27

inc/ticket.class.php in GLPI 0.83.9 and earlier allows remote attackers to unserialize arbitrary PHP objects via the _pr

CVE-2024-27756 HIGH POC
8.8 Mar 15

GLPI through 10.0.12 allows CSV injection by an attacker who is able to create an asset with a crafted title. Rated high

CVE-2020-11060 HIGH POC
8.8 May 12

In GLPI before 9.4.6, an attacker can execute system commands by abusing the backup functionality. Rated high severity (

CVE-2019-14666 HIGH POC
8.8 Sep 25

GLPI through 9.4.3 is prone to account takeover by abusing the ajax/autocompletion.php autocompletion feature. Rated hig

CVE-2014-9258 MEDIUM POC
6.5 Dec 19

SQL injection vulnerability in ajax/getDropdownValue.php in GLPI before 0.85.1 allows remote authenticated users to exec

CVE-2024-29889 HIGH POC
8.1 May 07

GLPI is a Free Asset and IT Management Software package. Rated high severity (CVSS 8.1), this vulnerability is remotely

CVE-2013-2226 HIGH POC
7.5 May 14

Multiple SQL injection vulnerabilities in GLPI before 0.83.9 allow remote attackers to execute arbitrary SQL commands vi

CVE-2016-7508 HIGH POC
7.5 Jun 21

Multiple SQL injection vulnerabilities in GLPI 0.90.4 allow an authenticated remote attacker to execute arbitrary SQL co

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy