Skip to main content

OpenRemote Manager CVE-2026-56120

| EUVDEUVD-2026-38594 HIGH
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-06-23 disclosure@vulncheck.com GHSA-vjr9-f93j-mjr7
8.6
CVSS 4.0 · Vendor: vulncheck
Share

Severity by source

Vendor (vulncheck) PRIMARY
8.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
9.6 CRITICAL

Network-reachable API exploitable by any low-privileged authenticated user with alarm-write role; cross-tenant deletion changes scope (S:C); integrity and availability of other realms' alarms are high, no confidentiality impact.

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

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

3
Patch available
Jun 23, 2026 - 22:02 EUVD
Source Code Evidence Fetched
Jun 23, 2026 - 21:33 vuln.today
Analysis Generated
Jun 23, 2026 - 21:33 vuln.today

DescriptionCVE.org

OpenRemote before 1.25.0 contains an insecure direct object reference (IDOR) vulnerability in the bulk alarm deletion endpoint that allows authenticated users to permanently delete alarms belonging to other tenants by supplying arbitrary alarm IDs. The removeAlarms() method in AlarmResourceImpl.java omits realm-scoping validation in its JPA query, enabling any user with alarm-write permissions to enumerate sequential auto-increment alarm IDs and delete cross-tenant alarm records without authorization.

AnalysisAI

Cross-tenant alarm destruction in OpenRemote Manager (versions before 1.25.0) allows any authenticated user with alarm-write permissions in their own realm to permanently delete alarm records belonging to other tenants by submitting arbitrary sequential alarm IDs to the bulk-delete endpoint. The flaw stems from missing per-record realm scoping in removeAlarms() and is rated CVSS 4.0 8.6 (high); no public exploit identified at time of analysis, but the GHSA advisory documents the exact vulnerable code path, making weaponization straightforward.

Technical ContextAI

OpenRemote is a Java-based open-source IoT platform; the affected component is the Manager service, which exposes a JAX-RS alarm management API backed by JPA/Hibernate against a SentAlarm entity. The bulk endpoint AlarmResourceImpl.removeAlarms() invokes isRealmActiveAndAccessible() only against the caller's own realm - a check any authenticated user satisfies - and then passes the user-supplied List<Long> directly to JPQL queries 'select sa from SentAlarm sa where sa.id in :ids' and 'delete from SentAlarm sa where sa.id in :ids', neither of which filters on realm. This is a textbook CWE-639 (Authorization Bypass Through User-Controlled Key), compounded by the fact that SentAlarm primary keys are JPA @GeneratedValue sequential Longs, so an attacker does not need to discover IDs out-of-band - they can simply enumerate. Notably the singular removeAlarm() does perform the per-record realm check, indicating the bug is a localized omission in the plural path rather than a systemic authorization-model failure.

RemediationAI

Upgrade OpenRemote Manager to the vendor-released patched version - per the 1.25.0 release notes the fix is included in 1.25.0, though the GHSA advisory references 1.24.2 as fixed, so confirm the appropriate target with the vendor and apply the highest available release. The fix should be obtained from https://github.com/openremote/openremote/releases/tag/1.25.0 and the advisory at https://github.com/openremote/openremote/security/advisories/GHSA-h3m5-97jq-qjrf. If immediate patching is not possible, compensating controls include revoking the alarm-write role from all non-administrative users (which disables legitimate alarm management for those users), placing a reverse proxy or API gateway rule that blocks or audits DELETE/POST requests to the bulk alarm deletion endpoint (which will break legitimate bulk-delete UX), or, for multi-tenant operators, temporarily collapsing to single-tenant deployments per customer to eliminate cross-realm impact (high operational cost). Enable database-level audit logging on the SentAlarm table to detect mass deletions while the patch is rolled out.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

Share

CVE-2026-56120 vulnerability details – vuln.today

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