<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Openremote — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/openremote/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Tue, 02 Jan 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/openremote/feed.xml" rel="self" type="application/rss+xml"/><item><title>OpenRemote Improper Access Control Leads to Privilege Escalation</title><link>https://feed.craftedsignal.io/briefs/2024-01-02-openremote-privesc/</link><pubDate>Tue, 02 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-02-openremote-privesc/</guid><description>OpenRemote is vulnerable to privilege escalation, allowing an attacker with write:admin privileges in one Keycloak realm to gain administrator access to the master realm by manipulating Keycloak realm roles due to missing authorization checks in the updateUserRealmRoles function.</description><content:encoded><![CDATA[<p>OpenRemote, a digital twin platform, is susceptible to a privilege escalation vulnerability (CVE-2026-41166) affecting versions prior to 1.22.1 of the openremote-manager component. An attacker possessing <code>write:admin</code> privileges in any Keycloak realm can exploit this flaw to escalate privileges to the <code>master</code> realm. This is achieved by calling the Manager API&rsquo;s <code>updateUserRealmRoles</code> function to modify Keycloak realm roles for users in other realms, including the <code>master</code> realm. The vulnerability lies in the absence of authorization checks within the <code>UserResourceImpl.java</code> file, which fails to validate if the caller has administrative rights over the realm they are attempting to modify. This oversight allows an attacker to grant themselves or another user administrative privileges on the master realm, leading to full Keycloak administrator access.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker gains initial access to a Keycloak realm and obtains <code>write:admin</code> privileges for the OpenRemote client within that realm.</li>
<li>The attacker identifies a low-privilege user in the <code>master</code> Keycloak realm and retrieves their UUID.</li>
<li>The attacker authenticates as the user from their controlled realm to obtain a valid Bearer access token.</li>
<li>The attacker crafts a malicious API request targeting the vulnerable <code>updateUserRealmRoles</code> endpoint, specifying the <code>master</code> realm and the UUID of the target user.</li>
<li>The attacker sets the &ldquo;roles&rdquo; parameter in the request body to include the &ldquo;admin&rdquo; role, effectively granting the target user Keycloak administrator privileges in the master realm.</li>
<li>The attacker sends the crafted API request to the OpenRemote Manager API, bypassing the missing authorization check.</li>
<li>The OpenRemote application processes the request and updates the target user&rsquo;s realm roles in the <code>master</code> Keycloak realm.</li>
<li>The attacker verifies the successful privilege escalation by confirming that the target user in the <code>master</code> realm now possesses the &ldquo;admin&rdquo; role via the Keycloak Admin Console, thus gaining full control over the master realm.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability allows an attacker to gain complete control over the <code>master</code> Keycloak realm within OpenRemote. This grants the attacker the ability to manage all users, roles, and clients within the <code>master</code> realm, potentially leading to unauthorized access to sensitive data, disruption of services, and further lateral movement within the OpenRemote environment. Given that the <code>master</code> realm is typically used for managing the entire OpenRemote instance, the impact is critical.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to OpenRemote version 1.22.1 or later to patch CVE-2026-41166, addressing the improper access control in the <code>updateUserRealmRoles</code> function.</li>
<li>Implement additional authorization checks within the <code>UserResourceImpl.java</code> file to validate that the caller has administrative rights over the target realm before allowing modifications to user realm roles.</li>
<li>Deploy the provided Sigma rule <code>Detect OpenRemote UserRealmRoles API Abuse</code> to monitor for suspicious calls to the updateUserRealmRoles API endpoint targeting different realms.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>privilege-escalation</category><category>access-control</category><category>openremote</category></item></channel></rss>