Skip to main content

OpenNMS Meridian CVE-2026-111252

| EUVDEUVD-2026-102348 MEDIUM
Improper Restriction of Recursive Entity References in DTDs (CWE-776)
2026-10-15 OpenNMS
6.5
CVSS 3.1 · Vendor: OpenNMS
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with provisioning access
  2. Exploit
    Submit malicious requisition/foreign-source XML with DOCTYPE entities
  3. Execution
    Server parses unbounded entity expansion
  4. Impact
    Memory exhaustion denies service

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A02:2025 - Security Misconfiguration
ASVS 5.0
V13 - Configuration XML entity recursion limits
Exploitation Conditions

Exploitation requires an authenticated account with provisioning access (per PR:L in the CVSS vector and the description's explicit 'authenticated user with provisioning access'). The attacker supplies a requisition or foreign-source XML document - either directly or via a remote requisition URL the server fetches - that contains a DOCTYPE declaring internal entities built for expansion (nested entities or a single large entity referenced repeatedly). Limiting factors: the trusted provisioning privilege level narrows the attacker population to insiders or holders of a compromised provisioning account; the vendor explicitly states OpenNMS is intended to run within private networks and not be directly internet-accessible, so default deployments are not exposed to anonymous remote attackers; and the impact is limited to denial of service with no data disclosure or modification.

Impact

This is a moderate-priority availability issue, not a drop-everything emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H, base 6.5) is internally consistent with the description: exploitation is remote and low-complexity but requires an authenticated account holding provisioning privileges (PR:L), and impact is confined to availability (memory exhaustion / denial of service) with no confidentiality or integrity loss. No EPSS score, CISA KEV listing, or public POC was supplied, so by the precision rules this is 'no public exploit identified at time of analysis' - there is no signal of active or widespread exploitation. The PR:L requirement is the key risk-reducer: an attacker must already have provisioning/requisition access, which is a trusted administrative role, so the realistic threat is a malicious or compromised insider rather than an anonymous internet attacker. The vendor also notes the product is designed to run inside private networks and not be internet-facing, further narrowing exposure. Net: a genuine but bounded DoS, appropriately rated medium; prioritize patching where many operators hold provisioning rights or where the management plane is not tightly isolated.

Exploit ScenarioDerived

An authenticated user with provisioning access submits a requisition or foreign-source XML document (or points the server at a remote requisition URL it will fetch) containing a DOCTYPE that declares internal entities crafted as a 'billion laughs'-style expansion - deeply nested entities or one large entity referenced many times. When OpenNMS parses the document, entity expansion balloons memory usage and exhausts the server's heap, causing a denial of service. No public exploit code was identified, but the technique is well-known and the fix (PR #8898/#8952) confirms the parser previously had no entity-expansion cap.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 15, 2026

Memory exhaustion in OpenNMS Meridian and Horizon lets an authenticated user who holds provisioning privileges crash the monitoring server by supplying XML that declares internal entities designed to expand uncontrollably - either directly through a requisition or foreign-source import, or indirectly via a remote requisition URL that the server fetches and parses itself. The flaw is rated CVSS 6.5 (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H), so a successful attack yields full availability loss with no confidentiality or integrity impact, and no public exploit code was identified at time of analysis (the issue is not listed in CISA KEV). This is a moderate-priority availability issue rather than a drop-everything emergency: the attacker must already hold a trusted provisioning account, and the vendor states that Meridian and Horizon are intended for private-network deployment rather than direct internet exposure.

RemediationAI

Apply the vendor-released patch by upgrading OpenNMS Meridian to 2024.3.14, 2025.0.11 or 2026.0.1, or OpenNMS Horizon to 36.0.5 or newer; the fix caps entity expansions across all XML parsing and rejects DOCTYPE declarations in requisition and foreign-source XML, and it is carried in the upstream pull requests https://github.com/OpenNMS/opennms/pull/8898 and https://github.com/OpenNMS/opennms/pull/8952. Where an immediate upgrade is not possible, restrict provisioning privileges to the smallest set of trusted operators, since the CVSS vector requires PR:L - an authenticated provisioning account - and revoke or rotate credentials for any provisioning account that may be shared or compromised, accepting that this narrows but does not eliminate an insider threat. Because the attack can also arrive through a remote requisition URL that the server fetches itself, disable or tightly allowlist remote requisition imports and foreign-source URLs so the server cannot be pointed at attacker-controlled XML; the trade-off is loss of automated external provisioning until the upgrade lands. The vendor also advises that Meridian and Horizon are intended for private-network installation and should never be directly reachable from the Internet, so ensure the web UI and any requisition endpoints are firewalled or placed behind a VPN/authenticated reverse proxy - this reduces anonymous reach but does not stop an authenticated insider. Because the impact is availability-only under the assessed vector, monitoring JVM heap and restarting the service can shorten outages but is not a fix; after upgrading, verify that a DOCTYPE-bearing requisition is now rejected rather than parsed.

Affected VersionsENISA

Meridian 2024.1.0 <2024.3.14
Meridian 2025.0.0 <2025.0.11
Meridian 2026.0.0 <2026.0.1
Horizon 36.0.0 <36.0.5

Affected Packages

euvd horizon fix: 36.0.5
euvd meridian fix: 2024.3.14, 2025.0.11, 2026.0.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in euvd

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-776, Improper Restriction of XML Entity Expansion References, the classic XML entity-expansion ("billion laughs") class of denial of service. OpenNMS parses requisition and foreign-source XML through its shared JAXB helper layer in the core/xml module (JaxbUtils.getXMLFilterForClass), which configures a SAX XMLReader. That reader was created without an effective cap on entity expansion, so a document containing a DOCTYPE with nested internal entity declarations - or a single very large entity referenced many times - could be expanded until the JVM heap was exhausted. The upstream fix installs a limit by first enabling the JAXB/SAX feature XMLConstants.FEATURE_SECURE_PROCESSING; because the standalone Xerces parser on the OpenNMS runtime classpath does not honour that feature, the code falls back to reflectively instantiating org.apache.xerces.util.SecurityManager from the parser's own classloader and setting it via the http://apache.org/xml/properties/security-manager property, with a one-time warning logged if no limit can be installed. The accompanying PR also rejects any DOCTYPE in requisition and foreign-source XML while deliberately still permitting ordinary internal entities (for example named characters) so that legitimate imported requisitions are not broken. Test coverage exercises both the JDK parser (com.sun.org.apache.xerces.internal.parsers.SAXParser) and standalone Xerces (org.apache.xerces.parsers.SAXParser).

Know when Opennms 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 (OpenNMS) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 6.5 MEDIUM

Remote submission over the network (AV:N) at low complexity (AC:L) but requires provisioning privileges (PR:L) with no user interaction; only availability is affected (A:H, C/I:N).

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

Primary rating from Vendor (OpenNMS).

CVSS VectorVendor: OpenNMS

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

DescriptionCVE.org

A denial of service vulnerability exists in the XML parsing of multiple versions of OpenNMS Meridian and Horizon. OpenNMS parsed XML without an effective limit on entity expansion. A document with a DOCTYPE that declares internal entities can expand to a very large value and exhaust the server memory. An authenticated user with provisioning access can supply such a document through a requisition or foreign-source import, which includes a remote requisition URL that the server fetches and parses. Both deeply nested entities and a single large entity referenced many times cause the memory exhaustion. The fix caps the number of entity expansions for all XML parsing and rejects any DOCTYPE in requisition and foreign-source XML.

The solution is to upgrade to Meridian 2024.3.14, 2025.0.11, 2026.0.1 and Horizon 36.0.5 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.

Threat Intelligence Overview

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Medium
established open-source/commercial network monitoring platform, common but not everywhere
Data Quality
6 sources
Confidence: High

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.2%
Patch available Yes
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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

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

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2023-40315 HIGH POC
8.0 Aug 17

In OpenMNS Horizon 31.0.8 and versions earlier than 32.0.2 and related Meridian versions, any user that has the ROLE_FIL

CVE-2023-0872 HIGH POC
8.0 Aug 14

The Horizon REST API includes a users endpoint in OpenMNS Horizon 31.0.8 and versions earlier than 32.0.2 on multiple pl

CVE-2015-7856 CRITICAL POC
10.0 Oct 16

OpenNMS has a default password of rtc for the rtc account, which makes it easier for remote attackers to obtain access b

CVE-2021-25931 HIGH POC
8.8 May 20

In OpenNMS Horizon, versions opennms-1-0-stable through opennms-27.1.0-1; OpenNMS Meridian, versions meridian-foundation

CVE-2020-1652 CRITICAL
9.8 Jul 17

OpenNMS is accessible via port 9443. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable, no

CVE-2021-25932 MEDIUM POC
5.4 Jun 01

In OpenNMS Horizon, versions opennms-1-0-stable through opennms-27.1.0-1; OpenNMS Meridian, versions meridian-foundation

CVE-2021-25935 MEDIUM POC
5.4 May 25

In OpenNMS Horizon, versions opennms-17.0.0-1 through opennms-27.1.0-1; OpenNMS Meridian, versions meridian-foundation-2

CVE-2021-25934 MEDIUM POC
5.4 May 25

In OpenNMS Horizon, versions opennms-18.0.0-1 through opennms-27.1.0-1; OpenNMS Meridian, versions meridian-foundation-2

CVE-2023-40313 HIGH
8.8 Aug 17

A BeanShell interpreter in remote server mode runs in OpenMNS Horizon versions earlier than 32.0.2 and in related Meridi

CVE-2021-25933 MEDIUM POC
4.8 May 20

In OpenNMS Horizon, versions opennms-1-0-stable through opennms-27.1.0-1; OpenNMS Meridian, versions meridian-foundation

CVE-2021-25929 MEDIUM POC
4.8 May 20

In OpenNMS Horizon, versions opennms-1-0-stable through opennms-27.1.0-1; OpenNMS Meridian, versions meridian-foundation

CVE-2021-3396 HIGH
8.8 Feb 17

OpenNMS Meridian 2016, 2017, 2018 before 2018.1.25, 2019 before 2019.1.16, and 2020 before 2020.1.5, Horizon 1.2 through

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