Skip to main content

OpenNMS Meridian CVE-2026-111235

| EUVDEUVD-2026-102324 CRITICAL
Missing Authorization (CWE-862)
2026-10-15 OpenNMS
9.1
CVSS 3.1 · Vendor: OpenNMS
View

Attack ChainAIDerived

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

  1. Access
    Reach OpenNMS /rest/** API endpoint
  2. Exploit
    Send request with lowercase HTTP method
  3. Execution
    Fall through Spring Security filter chain unauthenticated
  4. Impact
    Read inventory and inject or suppress alarm events

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires only network reachability to the OpenNMS /rest/** REST API and the ability to send an HTTP request using a non-canonical method token (for example a lowercase verb such as 'get' or 'put' instead of 'GET'/'PUT'); no authentication, credentials, or user interaction are needed, and all pre-fix versions in default configuration are affected. The primary factor LIMITING exploitation is deployment posture: the vendor states Meridian/Horizon are intended for private networks and should not be directly Internet-accessible, so in correctly segmented environments the attacker must first reach the internal management network. The alarm-existence disclosure specifically relies on observing a difference in the /rest/alarms response.

Impact

This is a genuinely high-priority flaw where the CVSS signal and the technical reality agree: the vendor-supplied vector (CVSS:3.1/AV:N/AC:L/PR:N/UI:N → C:H/I:H) describes a remote, unauthenticated, low-complexity authorization bypass, and the source diff (PR #8934) confirms the exact mechanism - Spring Security intercept-url rules match the HTTP method as a case-sensitive uppercase token with no terminal deny rule, so a lowercase method token falls through all rules and is served without authentication. Exploitation is trivial (merely altering the HTTP method verb case), which argues for treating it as critical wherever the API is reachable. The strongest mitigating signal is NOT in the scoring but in the vendor documentation: Meridian/Horizon are designed for deployment inside private networks and explicitly should not be Internet-facing, so real-world exposure depends heavily on network position - Internet-exposed or flat-network instances are at severe, trivially-exploitable risk, while correctly segmented internal instances require an attacker to already hold a network foothold. Note the gaps: no EPSS probability was provided, the CVE is NOT in CISA KEV, and no public POC was identified, so there is currently no evidence of active or widespread exploitation despite the critical score - the 9.1 reflects ease and impact, not observed in-the-wild activity.

Exploit ScenarioDerived

An attacker with network access to an OpenNMS Horizon or Meridian REST API sends an otherwise normal request but uses a non-canonical (e.g. lowercase) HTTP method token, which matches none of the method-specific intercept-url rules and, because no terminal deny rule exists, is processed with no authentication. The attacker can then read the full monitored inventory and create, modify, or delete resources - including injecting events to fabricate or suppress alarms, or probing /rest/alarms to learn whether a given alarm exists from response differences. No public exploit code was identified, but the technique is trivial (AV:N/AC:L/PR:N) and requires only crafting the method verb.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 15, 2026

Unauthenticated authorization bypass in the OpenNMS Meridian and Horizon REST API lets any remote attacker who can reach /rest/** read the monitored inventory and create, modify, or delete resources without credentials. The flaw arises because the Spring Security intercept-url rules match the HTTP method as a case-sensitive uppercase token and the filter chains terminate without a deny rule, so a request using a non-canonical method token (for example 'get' or 'put' instead of 'GET'/'PUT') matches no rule and is served without authentication; the /rest/alarms chain additionally leaks whether a specific alarm exists via a difference in the response. All pre-fix Meridian and Horizon versions in default configuration are affected, the vendor-supplied CVSS 3.1 base score is 9.1 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N, i.e. unauthenticated and low complexity), and no public exploit code was identified at time of analysis; the practical limiting factor is deployment posture, since the vendor states these products belong on private networks and should not be Internet-facing.

RemediationAI

Vendor-released patches are available: upgrade OpenNMS Meridian to 2024.3.14, 2025.0.11, or 2026.0.1 (or newer on the applicable maintenance line), and OpenNMS Horizon to 36.0.5 or newer; the fix itself is the upstream change in PR #8934 (https://github.com/OpenNMS/opennms/pull/8934), which adds a terminal <intercept-url pattern="/" access="denyAll"/> to each /rest/ Spring Security filter chain and converts the chains to use-expressions so unmatched requests - including lowercase method tokens - are denied rather than served unauthenticated. Where immediate patching is not possible, apply the vendor's stated deployment posture as an explicit compensating control: confirm Meridian/Horizon are not reachable from untrusted networks, restrict inbound access to the /rest/ path (and the management/UI ports generally) with network ACLs, firewall rules, or a reverse proxy that only forwards canonical uppercase HTTP methods to the backend, and terminate or reject non-canonical method tokens at the edge. Note the trade-off that method-rewriting proxies can break legitimate clients or mask other protocol anomalies, and that ACL/segmentation only reduces reachability - it does not fix the fail-open logic, so the bypass remains live for any attacker who gains a foothold on the internal management segment. Rotating any credentials or tokens that were exposed via unauthenticated REST reads is also advisable, and monitoring should be tuned for lowercase or otherwise non-canonical HTTP verbs hitting /rest/ as a detection signal for exploitation attempts.

Affected VersionsENISA

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

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

OpenNMS Meridian and Horizon expose a Java Spring Security-protected REST API whose authorization is defined declaratively in applicationContext-spring-security.xml as a series of <intercept-url> rules inside <http pattern="/rest/"> filter chains. Each rule carries a pattern, an optional method attribute, and an access expression listing required roles (ROLE_REST, ROLE_ADMIN, ROLE_USER, ROLE_MOBILE, ROLE_PROVISION, ROLE_MINION, ROLE_FILESYSTEM_EDITOR, ROLE_ANONYMOUS). The root cause maps to CWE-862 (Missing Authorization) combined with a fail-open matching flaw: Spring Security compares the method attribute case-sensitively against the uppercase canonical HTTP verb, and because the chains contain no terminal catch-all deny rule, any request whose method token is non-canonical (e.g. lowercase 'get'/'put'/'delete') matches no method-specific rule and therefore falls through the entire chain with no authorization applied - the request is still processed by the downstream REST controllers. The vendor fix in GitHub PR #8934 is a fail-closed restructuring: it switches the affected chains to use-expressions="true", rewrites role lists as hasAnyRole(...)/hasRole(...) expressions, consolidates the /rest/alarms ack/unack/escalate/clear rules into a single method="PUT" rule on /rest/alarms/, and - critically - appends <intercept-url pattern="/**" access="denyAll"/> at the end of each chain so that a request matching no method-specific rule is denied rather than permitted. The CPE data (cpe:2.3:a:the_opennms_group:meridian and cpe:2.3:a:the_opennms_group:horizon) confirms that both the commercial Meridian track and the community Horizon track share the same vulnerable code path, which is expected given that Meridian is derived from Horizon. The /rest/alarms endpoint is also notable because its missing deny rule produces an observable response difference that discloses alarm existence, giving an unauthenticated attacker a blind enumeration primitive independent of the read/write bypass.

Know when Meridian 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 9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 9.1 CRITICAL

A lowercase HTTP method bypasses auth entirely so AV:N/AC:L/PR:N/UI:N; unauthenticated read and full create/modify/delete give C:H/I:H, with no documented availability impact (A:N).

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

Primary rating from Vendor (OpenNMS).

CVSS VectorVendor: OpenNMS

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

DescriptionCVE.org

An authorization bypass vulnerability exists in the REST API of multiple versions of OpenNMS Meridian and Horizon. The /rest/** Spring Security filter chains authorize requests with intercept-url rules that name the HTTP method as an uppercase token, compare the method case-sensitively, and have no terminal deny rule. A request that uses a non-canonical (for example lowercase) method token matches no rule and is processed without authentication. A remote, unauthenticated attacker can read the monitored inventory and can create, modify, or delete resources through the REST API, which includes injecting events to fabricate or suppress alarms. The /rest/alarms chain has the same missing deny rule and discloses whether an alarm exists through a difference in the response. The fix adds a terminal deny rule to each REST filter chain.

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.

Executive ViewAI

Why It Matters

OpenNMS Meridian and Horizon contain an unauthenticated authorization bypass in the REST API that allows remote attackers to read or modify monitored inventory. This affects organizations relying on these platforms for network and security monitoring, potentially undermining visibility and enabling unauthorized changes to critical monitoring resources. Although no public exploit identified at time of analysis, the critical severity and available patch warrant immediate remediation.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 70% exploitable
Prevalence
Low
niche open-source network-monitoring platform, internal-only deployments
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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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

CVE-2021-25930 MEDIUM POC
4.3 May 20

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

CVE-2020-11886 HIGH
8.1 Apr 17

OpenNMS Horizon and Meridian allows HQL Injection in element/nodeList.htm (aka the NodeListController) via snmpParm or s

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