Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Injection needs TAG MANAGEMENT rights (PR:H) and a victim opening the Kanban view (UI:R); stored XSS crosses into the victim's browser context (S:C) with limited confidentiality/integrity impact and no availability effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
The Tag plugin for GLPI 11 before 2.14.4 stores the tag name without HTML sanitization and renders it into the Kanban badge markup via PluginTagTag::preKanbanContent() without output escaping, resulting in stored cross-site scripting. An authenticated user with TAG MANAGEMENT create or update rights can set a tag name containing HTML, which then executes in the browser of any user who opens the Kanban view of a ticket, problem, change, or project the tag is attached to.
AnalysisAI
Stored cross-site scripting in the Tag plugin for GLPI 11 (versions before 2.14.4) allows an authenticated user holding TAG MANAGEMENT create/update rights to persist an HTML/JavaScript payload in a tag name, which then executes in the browser of any user who opens the Kanban view of a ticket, problem, change, or project the tag is attached to. The flaw stems from PluginTagTag::preKanbanContent() rendering the unsanitized tag name into badge markup without output escaping. No public exploit identified at time of analysis; the issue was reported by VulnCheck and a vendor patch (2.14.4) is available.
Technical ContextAI
GLPI is an open-source IT service management and asset management platform, and the Tag plugin extends it with taggable labels displayed across ITIL objects. The vulnerability is a classic CWE-79 (Improper Neutralization of Input During Web Page Generation) stored XSS: the tag name is saved verbatim without HTML sanitization at input time and then injected into the Kanban badge HTML via PluginTagTag::preKanbanContent() without output encoding at render time. Because the Kanban board is a shared collaborative view, the malicious markup is served to every user who loads a board containing the tag, turning a single injection point into a persistent payload. Per the CPE data, the affected surface is cpe:2.3:a:pluginsglpi:glpi_11 - specifically the Tag plugin running on GLPI 11.
RemediationAI
Vendor-released patch: upgrade the Tag plugin to version 2.14.4 or later (release: https://github.com/pluginsGLPI/tag/releases/tag/2.14.4, fixing commit 49e6b6eb5f83bcd84139a5e5ec54c0ddd14acc90, advisory: https://github.com/pluginsGLPI/tag/security/advisories/GHSA-6rpj-89c7-x2mh). Until the upgrade is applied, restrict the TAG MANAGEMENT create/update permission to a minimal set of trusted administrators so untrusted or low-trust accounts cannot inject tag names (trade-off: legitimate tag maintenance is slowed for those users). As an additional compensating control, audit existing tag names for embedded HTML/JavaScript and sanitize or delete any suspicious entries before they render, and consider temporarily avoiding the Kanban view on objects with externally-supplied tags. A restrictive Content-Security-Policy that forbids inline script execution would blunt the payload, though GLPI's own UI may rely on inline scripts, so test for breakage before enforcing.
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-42614
GHSA-qc6r-wrm6-23pm