Skip to main content

OpenNMS Horizon CVE-2026-19182

| EUVDEUVD-2026-57719 MEDIUM
Incorrect Authorization (CWE-863)
2026-08-13 OpenNMS GHSA-r53w-fffc-9ppv
4.3
CVSS 3.1 · Vendor: OpenNMS
View

Attack ChainAIDerived

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

  1. Access
    Obtain valid ROLE_REST account credentials
  2. Delivery
    Identify target alarm ID via REST API enumeration
  3. Exploit
    Craft PUT request to /api/v2/alarms/{id} with arbitrary ackUser parameter
  4. Execution
    Inverted authorization condition bypasses delegation check
  5. Persist
    Alarm action recorded under victim username
  6. Impact
    Audit trail integrity silently compromised

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
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 a valid authenticated account with the ROLE_REST role explicitly assigned within OpenNMS; this role is a deliberate administrator grant, not a default for newly created users. The ROLE_READONLY bypass variant additionally requires the attacker account to hold both ROLE_REST and ROLE_READONLY simultaneously. The REST API endpoint must be network-reachable from the attacker's position. Limiting factors include the mandatory ROLE_REST authentication requirement (CVSS PR:L confirms this), the fact that OpenNMS is architecturally intended for private-network deployment limiting internet exposure, and that exploitation affects only alarm state integrity - it yields no code execution, no credential disclosure, and no system-level access. No special non-default product configuration is required beyond having any ROLE_REST account in the system; the flaw exists in all standard deployments running a vulnerable version.

Impact

The CVSS 3.1 score of 4.3 (Medium) accurately reflects the bounded impact: network-reachable and low-complexity, but gated behind a ROLE_REST credential and producing only low-integrity impact with no confidentiality or availability effect. No EPSS data was provided, the vulnerability is absent from CISA KEV, and no public exploit code has been identified at time of analysis. Real-world risk is further bounded by the vendor's documented deployment posture - OpenNMS is explicitly intended for installation within private organizational networks, so internet-facing exposure should be exceptional rather than typical. That said, even a mid-sized municipal IT operations team in bytom relying on OpenNMS for infrastructure visibility faces meaningful risk if a rogue or compromised ROLE_REST account is used to attribute alarm acknowledgements to innocent staff, corrupting audit trails and potentially obscuring active incidents. The ROLE_READONLY bypass is particularly notable because it violates an explicit, named security boundary that administrators may have deliberately configured. Overall priority is moderate for organizations with broad ROLE_REST grants, and low for those with tightly controlled accounts and proper network segmentation.

Exploit ScenarioDerived

An insider or attacker who has obtained a valid ROLE_REST account sends an HTTP PUT request to /api/v2/alarms/{id} with the query parameter ackUser=<victim_username>, where the victim is any valid system account. Because the inverted condition never fires for a non-blank string, the system records the alarm acknowledgement as the victim user without any delegation check. No publicly available exploit code is required - the attack is a trivial API call with a modified parameter, executable with any standard HTTP client.

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 – Aug 13, 2026

Incorrect authorization in OpenNMS Meridian and Horizon's v2 Alarm REST API allows any authenticated ROLE_REST user to acknowledge, escalate, or clear alarms attributed to arbitrary usernames, effectively forging audit records without holding delegation privileges. An inverted boolean condition in AlarmRestService.java - !StringUtils.isNotBlank(ackUser) instead of StringUtils.isNotBlank(ackUser) - renders the credential delegation check dead code for any non-blank username supplied in the request. Users simultaneously holding ROLE_REST and ROLE_READONLY can additionally bypass the read-only restriction to modify alarm state. No public exploit exists and the vulnerability is absent from CISA KEV; vendor-confirmed patches are available via OpenNMS GitHub PR #8755.

RemediationAI

Upgrade OpenNMS Meridian to version 2024.3.12 or 2025.0.9 (whichever branch applies to the deployment), or upgrade OpenNMS Horizon to version 36.0.3 or newer, as confirmed by the vendor. The underlying fix - removing the logical negation from the StringUtils.isNotBlank() check in AlarmRestService.java - is a one-line change available in GitHub PR #8755 (https://github.com/OpenNMS/opennms/pull/8755); organizations capable of building from source can apply this immediately. As an interim workaround pending upgrade, audit and restrict ROLE_REST role assignments to only explicitly trusted service accounts, reducing the population of users able to exploit the flaw; be aware this does not eliminate risk for accounts that legitimately hold ROLE_REST. Additionally, enforce network-level access controls (firewall rules, VPN requirements) to ensure the OpenNMS REST API is not reachable from untrusted networks, consistent with the vendor's stated deployment guidance.

Affected VersionsENISA

Meridian 2025.0.0 <2025.0.9
Horizon 36.0.0 <36.0.3
Meridian 2024.1.0 <2024.3.12

Affected Packages

euvd horizon fix: 36.0.3
euvd meridian fix: 2024.3.12, 2025.0.9

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 Horizon and Meridian are Java-based network monitoring platforms sharing a common REST API layer. The vulnerable endpoint is the doUpdateProperties method in AlarmRestService.java, which handles HTTP PUT requests to the v2 alarms API for acknowledgement, escalation, and clear operations. The authorization guard was intended to prevent a user from submitting an ackUser parameter specifying a different username without holding delegation rights. Due to the logical negation error - the condition if (ackUser != null && !StringUtils.isNotBlank(ackUser)) evaluates to true only for blank strings, never for a real username - the enforcement block is entirely bypassed when an attacker supplies a non-blank arbitrary username. This is a textbook instance of CWE-863 (Incorrect Authorization): the check exists but is logically inverted, a logic flaw distinct from a missing control. CPE strings cpe:2.3:a:the_opennms_group:meridian:*:*:*:*:*:*:*:* and cpe:2.3:a:the_opennms_group:horizon:*:*:*:*:*:*:*:* confirm all versions of both products prior to the patched releases are affected.

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 4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
vuln.today AI 4.3 MEDIUM

REST API is network-accessible (AV:N), exploitation requires only a ROLE_REST account (PR:L) with no additional complexity, and impact is confined to alarm record integrity (I:L) with no confidentiality or availability effect.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/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
Low
Availability
None

DescriptionCVE.org

An incorrect authorization check in the v2 Alarm REST API in OpenNMS Meridian and Horizon allows a low-privileged authenticated user (ROLE_REST) to acknowledge, escalate, or clear alarms recorded as an arbitrary username, and, when also assigned ROLE_READONLY, to modify alarm state despite the read-only restriction. A credential check that should restrict these operations is guarded by an inverted condition, so it never executes for a real (non-blank) username. This can potentially allow an attacker to compromise the integrity of alarm state and audit records.

The solution is to upgrade to Meridian 2024.3.12, 2025.0.9 and Horizon 36.0.3 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 95% exploitable
Prevalence
Low
niche network monitoring platform, primarily telecom and ISP deployments
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
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-2026-111235 CRITICAL
9.1 Oct 15

Unauthenticated authorization bypass in the OpenNMS Meridian and Horizon REST API lets any remote attacker who can reach

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

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