Cross-site scripting in bootstrap.jsp
Description
Cross-site scripting in bootstrap.jsp in multiple versions of OpenNMS Meridian and Horizon allows an attacker access to confidential session information. The solution is to upgrade to Horizon 32.0.5 or newer and Meridian 2023.1.9 or newer
Meridian and Horizon installation instructions state that they are intended for installation within an organization's private networks and should not be directly accessible from the Internet.
OpenNMS thanks
Moshe Apelbaum
for reporting this issue.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
org.opennms:opennms-webappMaven | < 32.0.5 | 32.0.5 |
Affected products
3- The OpenNMS Group/Horizonv5Range: 31.0.8
- The OpenNMS Group/Meridianv5Range: 0
Patches
Vulnerability mechanics
Root cause
"Improper neutralization of user-controllable input in bootstrap.jsp allows cross-site scripting (XSS)."
Attack vector
An attacker can inject malicious script input that is not properly neutralized before being rendered in `bootstrap.jsp`, leading to cross-site scripting (XSS) [CWE-79]. The advisory states that OpenNMS installations are intended for private networks and should not be directly accessible from the Internet, so the attacker likely needs network access to the internal OpenNMS web interface. The injected script can then access confidential session information of other users viewing the affected page.
Affected code
The vulnerability resides in `opennms-webapp/src/main/java/org/opennms/web/utils/Bootstrap.java`. The patch replaces Guava collection utilities (`Lists.newArrayList()`, `Sets.newHashSet()`) with standard Java collections (`new ArrayList<>()`, `new HashSet<>()`). The advisory does not specify which function or code path in `bootstrap.jsp` is vulnerable, only that cross-site scripting occurs there.
What the fix does
The patch removes Guava collection imports (`Lists`, `Sets`) and replaces `Lists.newArrayList()` and `Sets.newHashSet()` with standard Java `new ArrayList<>()` and `new HashSet<>()` [patch_id=1640650]. While the commit message says "No guava," this change alone does not directly fix an XSS vulnerability; it appears to be a cleanup that accompanies a more substantive fix not shown in this diff. The advisory recommends upgrading to Horizon 32.0.5 or Meridian 2023.1.9, which include the complete fix.
Preconditions
- networkAttacker must have network access to the OpenNMS web interface (installations are intended for private networks).
- configThe bootstrap.jsp page must be served to other users who have active sessions.
Generated on May 23, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
4News mentions
0No linked articles in our index yet.