In Eclipse Langium versions 3.0.0 and later, the langium-sprotty package does not HTML-escape diagnostic messages before rendering them in the default hover popup provided by `addHoverPopupHandler`. If a Langium grammar allows cross-reference text to contain HTML markup (such as through a STRING terminal), an unresolved cross-reference produces a diagnostic message that includes the literal ref text. When a Sprotty diagram is opened for a malicious source file under these conditions, and a user hovers over the corresponding error marker, attacker-controlled JavaScript can execute in the browser or webview.
https://gitlab.eclipse.org/security/vulnerability-reports/-/work_items/1018
https://gitlab.eclipse.org/security/cve-assignment/-/work_items/512
https://github.com/eclipse-langium/langium/security/advisories/GHSA-7c4f-7qwx-hmcv
Published: 2026-11-09
Updated: 2026-11-12
Base Score: 5.8
Vector: CVSS2#AV:N/AC:M/Au:N/C:N/I:P/A:P
Severity: Medium
Base Score: 6.1
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Severity: Medium
Base Score: 2
Vector: CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Severity: Low
EPSS: 0.00139